GDBでデバッグ
GDBを使ってデバッグをしてみる。
コマンド | 概要 |
r (run) | 実行 |
s (step) | 1ステップ実行 (関数内に入る) |
n (next) | 1ステップ実行 (関数内に入らない) |
c (continue) | 次のブレークポイントまで実行 |
p (print) [変数/関数] | 変数や関数の戻り値を表示 |
b (break) [行番号/関数名] | ブレークポイントを作る |
i (info) b (break) | ブレークポイントの情報を表示 |
d (delete) [ブレークポイントID] | 指定したID("i b"コマンドで見る)のブレークポイントを削除 |
set [var]=[val] | 変数に値を代入 |
q (quit) | デバッグを終了 |
generate-core-file | コアファイルを作成 |
例
# g++ -g hello.cpp
# gdb a.out
(gdb) b main
(gdb) b 230
(gdb) r
(gdb) s
(gdb) n
(gdb) n
(gdb) c
(gdb) p myVar
$1 = 100
(gdb) set myVar=101
(gdb) p myVar
$1 = 101
(gdb) generate-core-file
Saved corefile core.3065
(gdb) q