2011|08|
2013|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|05|06|07|08|09|10|11|12|
2016|01|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|

2017-10-24 gdb の使い方(http://ikubo.x0.com/unix/gdb.htm) [長年日記]

gdb の使い方

gdb の使い方


% gdb <プログラム名>

 gdb を終了する q quit
 ヘルプの表示 h help
 プログラムの実行    
 プログラムを止める    
 プログラムを続行する    
 プログラムを止めたい場所(ブレークポイント)を指定する b break
 現在設定しているブレークポイントを表示する   info break
 ブレークポイントを解除する (現在止まっている場所を解除する) cl clear
 ブレークポイントを解除する (ブレークポイントを指定する) d <番号> delete <番号>
 全てのブレークポイントを解除する d delete
 次の行を実行する (関数に入らない) n next
 次の行を実行する (関数に入る) s step
 関数から抜け出す   return
finish
 現在行を超える行まで実行を継続する
 (ループ内の最後の行でこれを実行することで、ループを抜けるまで実行を継続させる)
u until
 スタックを見る bt backtrace
 現在、自分のいるスタックフレームを見る f frame
 スタックフレームを移動する f <番号> frame <番号>
 スタックフレームを1つ上に移動する   up
 スタックフレームを1つ下に移動する   down
 値を見る p print <変数名やアドレス>
 メモリのダンプ x x/<回数><表示形式><フォーマット>
表示形式は、u (10進) x(16進) s(文字列:NULLで終了) i (マシン命令)
フォーマットは、b (バイト) h(ハーフワード:2バイト) w (ワード:4byte) g(ジャイアントワード:8バイト)など
 現在行の前後を表示 l list
 プログラムが停止するごとに、値を表示する   display <表示したいもの>
 display するものの一覧   info display
 display するものを削除する   undisplay <番号>
delete display <番号>
 ある変数が書き換えられたら止まる   watch <調べたいもの>
 watch するものの一覧表示   info watch
     
 breakpoint, watchpoint, display を一時的に無効/有効にする   disable / enable
 関数を呼び出す   call <関数名>
 値を書き換える   set var <変数名>=<値>
 シグナルを送る   signal <シグナル名 or 番号>