コマンド名 |
コマンドの説明 |
quit |
GDBを終了します。 |
^C |
実行中のGDBコマンドを中止します。 |
where |
終了時に実行していた位置を表示します。 引数は不要です。 |
list |
引数に指定した付近のコードを表示します。引数には、ファイル名・行番号・関数名が指定できます。file.cの14行目を表示するときは、list
file.c:14のように指定します。 |
print |
変数の値を変数の型に応じて表示します。変数 var の値を表示するときは、print varのように指定します。
/formatを付加すると出力書式を指定できます。
書式 |
意味 |
書式 |
意味 |
/o |
8進 |
/d |
符号付き10進 |
/x |
16進 |
/u |
符号なし10進 |
/t |
2進 |
/c |
文字 |
/f |
浮動小数点 |
/a |
アドレス |
変数 var の値を2進数で表示するときは、print/t varのように指定します。 |
x |
メモリの内容を表示します。printコマンドと同じ出力書式に加えて以下の出力書式と繰り返し回数を指定できます。
/s |
文字列表示 |
/i |
インストラクション表示(逆アセンブル) |
変数 name の文字列表示は、x/s nameのように指定します。
メモリの指定領域0x1370の逆アセンブルは、x/5i 0x1370のように指定します。 |
set variable |
変数の値を変更します。変数 var の値を1に変更するときは、set variable var=1のように指定します。 |
whatis |
変数の型を表示します。引数には変数名を指定します。 |
ptype |
変数の型がstruct、union、enum、classである変数の型の定義を表示します。構造体dataの型の定義を表示するときは、ptype
struct dataのように指定します。 |
up
down |
関数の間の移動をします。引数は不要です。 |
コマンド名 |
コマンドの説明 |
break |
ブレークポイントを設定します。引数には、ファイル名・行番号・関数名を指定することができます。設定するとブレークポイント番号が付けられます。ブレークポイントに達するとプログラムの実行を一時的に止めることができます。 |
info breakpoint |
現在設定されているブレークポイントを表示します。 |
condition |
ブレークポイントにブレーク条件を設定します。引数は、ブレークポイント番号・条件の順に指定します。引数なしで実行するとブレーク条件を解除します。 |
watch |
指定した式の値が変更されたときにプログラムの実行を一時的に止めるウォッチポイントを設定します。watch i==10と入力すると、変数
i の値が10に変わったときに実行が止まります。 |
run |
プログラムの実行を開始します。 ブレークポイントで一時停止して状態を表示します。 |
display |
ブレークポイントで止まるごとに、 指定した変数の値を表示します。 |
cont |
プログラムの実行を再開します。 次のブレークポイントまで実行します。 |
step
next
finish
stepi
nexti |
step,next,finishは、プログラムを少しずつ実行します。
step |
関数呼び出しの中でも1行ずつ実行します |
next |
関数呼び出し全体を1行として1行ずつ実行します |
finish |
現在の関数が復帰するまで実行します |
stepi,nextiは、機械語の1インストラクションを実行します。使用するときは display/i $pcを実行して、プログラムカウンタ$pcを常時表示させておいた方がいいでしょう。 |
delete
clear |
ブレークポイントを解除します。deleteにはブレークポイント番号を指定し、clearには位置を指定します。 |
disable
enable |
disableは、ブレークポイントを一時的に無効にします。enableは、再びブレークポイントを有効にします。引数にはブレークポイント番号を指定します。 |
attach
detach |
attachは、実行中のプロセスをGDBに接続しデバッグします。引数にはプロセスIDを指定します。detachはプロセスを切り離します。 |