linux除錯工具gdb用法
1 .編譯選項
1.1 gcc -g ソースコード名
「-g」オプションを付けてビルドを行うことで、「gdb」でデバッグ可能となります。
デバッグの為の情報が増えますので生成された実行ファイルのサイズは大きくなります。
2. 除錯命令
2.1. gdb programName
2.2. gdb --args programNmae arg1 arg2 ....
2.3.(gdb) b n (n 行數)break point 設定
(gdb) b 関數名
(gdb) b 関數名:行番號
(gdb) n (next)
(gdb) c (continue)
(gdb) s (step)
(gdb) r (run)
(gdb) q (quit)
(gdb) p/o 変數【8進表示】
(gdb) p/x 変數【16進表示】
(gdb) p/t 変數【2進表示】
(gdb) p/f 変數【浮動小數表示】
(gdb) p/d 変數【10進表示】
(gdb) p/u 変數【符號なし10進表示】
(gdb) p/c 変數【文字表示】
(gdb) p/a 変數【アドレス】
2.4.whatis 変數名 【変數の型を表示】
info b 【今まで設定したブレークポイントを表示する】
info stack 関數の呼び出しスタック
info Thread/thread 存在しているスレッドを表示
3.linux ライブラリ中に関數を調べる方法
3.1 nm -D ライブラリ名 | grep 関數名
objdump -t ライブラリ名 | grep 関數名
4. linux 実行可能ファイルは依存するライブラリを調べる
4.1 ldd 実行可能ファイル名