강의

멘토링

커뮤니티

BEST
Security & Network

/

System

Linuxシステムのデバッグ

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

難易度 中級以上

受講期間 無制限

  • jikim1770
Linux
Linux
gdb
gdb
debugging
debugging
assembly-language
assembly-language
disassembling
disassembling
Linux
Linux
gdb
gdb
debugging
debugging
assembly-language
assembly-language
disassembling
disassembling

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

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

4.9

5.0

나세정

100% 受講後に作成

.

5.0

강부원

31% 受講後に作成

ゆっくり丁寧に説明してください。

5.0

kwangho.jung

31% 受講後に作成

素晴らしい講義ですね

受講後に得られること

  • 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の基本

こんにちは
です。

905

受講生

114

受講レビュー

12

回答

4.9

講座評価

9

講座

金正仁(キム・ジョンイン)講師は、オープンソースが重要だとして、

Linuxカーネルやディープラーニングの実装ソースを趣味として毎日分析している、オープンソースマニアです。

ソースを通じて理解すると言い、むやみにソース分析によってすべての原理を理解しようとするため、

受講の際は、ソースコードの爆撃に注意が必要です。

 

講義に関するお問い合わせ : jikim@imguru.co.kr

カリキュラム

全体

35件 ∙ (9時間 28分)

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

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

受講レビュー

全体

46件

4.9

46件の受講レビュー

  • hanmuson18725님의 프로필 이미지
    hanmuson18725

    受講レビュー 31

    平均評価 5.0

    5

    31% 受講後に作成

    • cs5oh9753님의 프로필 이미지
      cs5oh9753

      受講レビュー 1

      平均評価 5.0

      5

      100% 受講後に作成

      • sejeongna8427님의 프로필 이미지
        sejeongna8427

        受講レビュー 1

        平均評価 5.0

        5

        100% 受講後に作成

        .

        • chlee2029님의 프로필 이미지
          chlee2029

          受講レビュー 1

          平均評価 5.0

          5

          100% 受講後に作成

          • yona48kim2584님의 프로필 이미지
            yona48kim2584

            受講レビュー 1

            平均評価 5.0

            5

            100% 受講後に作成

            ¥10,825

            jikim1770の他の講座

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

            似ている講座

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