Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

20.3.5. GDB を使用したアプリケーションシステム呼び出しの遮断

GDB は、プログラムの実行中に発生するさまざまな状況において実行を停止することができます。プログラムがシステム呼び出しを実行する際に実行を停止するには、GDB catchpoint を使用します。

前提条件

GDB の使用によるシステム呼び出しでのプログラム実行の停止

  1. キャッチポイントを設定します。

    (gdb) catch syscall syscall-name

    catch syscall コマンドは、プログラムがシステム呼び出しを実行する際に実行を停止する特殊なタイプのブレークポイントを設定します。

    syscall-name オプショは、呼び出し名を指定します。様々なシステム呼び出しに対して複数のキャッチポイントを指定することができます。syscall-name オプションに何も指定しない場合には、システム呼び出しがあると GDB が停止してしまいます。

  2. プログラムが実行を開始していない場合は、これを開始します。

    (gdb) r

    プログラムの実行が一時停止しているだけの場合は、これを再開します。

    (gdb) c
  3. GDB は、指定のシステム呼び出しがプログラムによって実行された後に実行を一時停止します。
関連情報