gdbを利用したデバッグの手法(c++)

gdbを使ってできること

デバッグされるプログラムを開発者の設定したブレークポイントで止めることができる。
プログラムが停止した時、この時のプログラムで発生している事柄を検査することができる。
動的に現在のプログラムの実行環境を変更することができる。


「-g」オプションを付けてビルドを行うことで、「gdb」でデバッグ可能状態にする。

$ g++ -g ソースコード名

gdbを立ち上げる。

$ gdb 実行ファイル名

ブレークポイントを指定する。

(gdb) b 行番号
(gdb) b 関数名
(gdb) b ファイル名:行番号

よく使うコマンド

(gdb) i b ブレイクポイントを表示
(gdb) d no 番号に対応するブレークポイントを削除
(gdb) l ソースコードを10行単位で表示
(gdb) info locals 現在実行しているプログラムの変数の値を表示
(gdb) p 変数またはその他の情報を表示
(gdb) whatis 現在の変数の型を表示
(gdb) c 現在のブレークポイントから離脱
(gdb) delete 全てのブレークポイントを削除

実行する

run

参考:
https://astaxie.gitbooks.io/build-web-application-with-golang/ja/11.2.html
GDB