강의

멘토링

로드맵

Inflearn brand logo image
BEST
Security & Network

/

System

Linuxシステムのデバッグ

アセンブリコードを理解し、関数のバックトレースを行うことができ、プロセスを追跡するgdbは内部構造を理解することができます。また、カーネルのデバッグツールも扱います。

  • jikim1770
리눅스
이론 실습 모두
어셈블리
Linux
gdb
debugging
assembly-language
disassembling

学習した受講者のレビュー

こんなことが学べます

  • Intelアーキテクチャ

  • Nasmアセンブリ

  • アセンブリ基本文法

  • アセンブリ関数の呼び出し

  • Backtraceの実装

  • Ptrace

  • Strace

  • Gdb

  • Uftrace

  • Ftrace

  • Kprobe

Linuxオペレーティングシステム内の問題を特定して解決するための体系的なアプローチが含まれており、システムの動作を分析し、問題を分離し、効果的なソリューションを実装するためのさまざまなツールと技術を活用します。

学習内容

セクション(1) Intelアーキテクチャ

PCの基本CPUとして最もよく使われるIntel CPUのレジスタ構造とALUの演算過程を扱います。

セクション(2) Nasmアセンブリ

NASM(Netwide Assembler)アセンブリ言語の学習に焦点を当て、低レベルのアセンブリ言語について説明します。

セクション(3)アセンブリ基本文法I

アセンブリ言語の基本的な構文、構造、および規則を習得し、基本的なアセンブリコードを効果的に記述する方法について説明します。

セクション(4)アセンブリ基本文法II

アセンブリが CPU のフラグによって条件付き制御を行う前のプロセスを説明します。

セクション(5) アセンブリ関数の呼び出し

関数の呼び出しプロセスで、引数、戻り値、およびローカル変数をアセンブリが処理する方法について説明します。

セクション(6) Backtraceの実装

逆追跡アルゴリズムを効果的に扱い、デバッグ技術、呼び出しスタック分析プロセスを説明します。

セクション (7) Ptrace

あるプロセス(追跡者)が別のプロセス(被追跡者)の実行を制御および監視する方法について説明します。

セクション (8) Strace

Strace の使用方法を説明し、オペレーティング システムとのプログラムのやり取りについて説明します。

セクション (9) Gdb

Gdbのブレークポイントの設定、コードの段階的な実行、プログラムの状態の分析、ソフトウェアのバグの識別、および回避策について説明します。

セクション (10) Uftrace

uftraceを使用してプログラムの関数呼び出しフローとパフォーマンスを追跡および分析する方法について説明します。

セクション (11) Ftrace

Linuxでカーネル機能を追跡するためにFtraceを活用する方法を説明し、カーネルの動作、パフォーマンスの問題、およびシステムレベルの対話を説明します。

セクション (12) Kprobe

Linuxカーネルの特定のポイントを動的に追跡し、デバッグ、パフォーマンス分析、およびカーネルの内部構造を説明します。

受講前の注意

  • 講義の学習に必要な注意事項がある場合は、慎重に作成してください。

  • 受講生たちが講義で扱う内容を十分に理解させ、学習満足度を高めることができます。

練習環境

  • オペレーティングシステムとバージョン(OS):Ubuntu 16.04、18.04

  • 編集ツール:Ubuntu VIM、Gcc、Gdb、Make、Ctags

  • コンパイラ:Gcc

学習資料

  • 提供する学習資料形式(PDF、ソースコード)

  • 授業時にpptを利用した板書を進め、これを授業資料として共有します。

選手の知識と注意

  • 本コースを聴くための選手の知識:C言語基本、Linux基本

  • 本講義動画仕様:FPS-60、解像度-1280*720、オーディオサンプルレート-44,100

  • いつでも質問してください。レッスンはオープンソースバージョンのアップグレード時に変更されることがあります。

  • 講義の際に配布される学習資料は授業のみ参考にして無断配布は禁じます。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • システムデバッグの原理を理解したい人

  • Linuxシステム開発者

  • Linuxカーネル開発者

前提知識、
必要でしょうか?

  • C言語

  • Linuxの基本

こんにちは
です。

716

受講生

70

受講レビュー

11

回答

4.9

講座評価

9

講座

김정인 강사님은 오픈소스가 중요하다며

리눅스 커널 및 딥러닝의 구현 소스를 취미 삼아 매일 분석 하는 오픈 소스 매니아 입니다.

소스를 통해 이해 한다며 무작정 소스 분석으로 모든 원리를 이해하려 하므로

수강 시 소스 폭탄에 주의 해야 합니다.

 

강의문의 : jikim@imguru.co.kr

カリキュラム

全体

35件 ∙ (9時間 28分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

25件

4.9

25件の受講レビュー

  • siroimono님의 프로필 이미지
    siroimono

    受講レビュー 13

    平均評価 5.0

    5

    31% 受講後に作成

    Thích quá thích quá thích quá thích quá thích quá thích quá

    • dj7seo9759님의 프로필 이미지
      dj7seo9759

      受講レビュー 3

      平均評価 4.7

      5

      31% 受講後に作成

      • jeongsuhan3316님의 프로필 이미지
        jeongsuhan3316

        受講レビュー 1

        平均評価 5.0

        5

        60% 受講後に作成

        • gameserver3n1513님의 프로필 이미지
          gameserver3n1513

          受講レビュー 7

          平均評価 4.9

          修正済み

          5

          51% 受講後に作成

          • dhdhoh5167님의 프로필 이미지
            dhdhoh5167

            受講レビュー 1

            平均評価 4.0

            4

            31% 受講後に作成

            ¥10,375

            jikim1770の他の講座

            知識共有者の他の講座を見てみましょう!

            似ている講座

            同じ分野の他の講座を見てみましょう!