Menu Close

Red Hat Training

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

20.2.3. GDB でのプログラムコードの活用

GDB デバッガーがプログラムに割り当てられたら、複数のコマンドを使用して、プログラムの実行を制御できます。

前提条件
コードを活用するための GDB コマンド
r (run)
プログラムの実行を開始します。引数を指定して run を実行すると、プログラムが通常起動しているかのように、指定した引数が実行可能ファイルに渡されます。通常、ユーザーはブレークポイントの設定後にこのコマンドを実行します。
start
プログラムの実行を開始してメイン機能の開始時に停止します。引数を指定して start を実行すると、プログラムが通常起動しているかのように、指定した引数が実行可能ファイルに渡されます。
c (continue)

現在の状態からプログラムの実行を継続します。プログラムの実行は、以下のいずれかが True になるまで継続します。

  • ブレークポイントに到達した場合
  • 指定の条件を満たした場合
  • プログラムがシグナルを受信する場合
  • エラーが発生した場合
  • プログラムが終了する場合
n (next)

このコマンドのもう 1 つの既知の名前は、step over です。現在のソースファイルでコードが次の行に到達するまで、現在の状態からプログラムの実行を続行します。プログラムの実行は、以下のいずれかが True になるまで継続します。

  • ブレークポイントに到達した場合
  • 指定の条件を満たした場合
  • プログラムがシグナルを受信する場合
  • エラーが発生した場合
  • プログラムが終了する場合
s (step)
このコマンドのもう 1 つの既知の名前は、step into です。また、step コマンドは、現在のソースファイル内のコードの連続行ごとに実行を停止することも行います。ただし、実行が 関数呼び出し を含むソース行で停止中の場合には、GDB は、関数呼び出しを入力した後 (実行後ではなく)、実行を停止します。
until location
location オプションで指定したコードの場所に到達するまで、実行が継続されます。
fini (finish)

プログラムの実行を再開し、実行が関数から戻り値として返された時点で停止します。プログラムの実行は、以下のいずれかが True になるまで継続します。

  • ブレークポイントに到達した場合
  • 指定の条件を満たした場合
  • プログラムがシグナルを受信する場合
  • エラーが発生した場合
  • プログラムが終了する場合
q (quit)
実行を中断して、GDB を終了します。
関連情報