GDBの使い方
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
* GDBの使い方 [#i588a9bd]
参考URL
- [[ファイヤープロジェクト GDB:http://www.h7.dion.ne.jp/~...
- [[テクニカルノウハウ gdbの使い方(その1):http://www.j.de...
gdb でデバッグしていて、ソースコードが表示されない場合、...
** 我流使用法 [#w92b8cec]
参考URL
- [[GDBの使い方:http://www2u.biglobe.ne.jp/~netoasis/pick...
- [[回復不能なスタックオーバーフロー:http://www.beasys.co...
*** バグ箇所の発見 [#p4b4e971]
$ gdb [exefile]
(gdb) break [function]
(gdb) run (args)
(gdb) s 5
(gdb) s
(gdb) s
動作を確認したい関数へ breakpoint を貼り、ソースコードを...
$ gdb [exefile]
(gdb) run (args)
..Some Error Message..
(gdb)
エラーや例外で停止する場合は、とにかく run で実行をして、...
$ gdb [exefile]
(gdb) break main
(gdb) run (args)
(gdb) s 1000
(gdb) s 100
(gdb) s
(gdb) ...
ソースなどの情報が表示されない場合は、恐らくデバッグ情報...
*** コア再現 [#j1c0046e]
コアを吐くエラーの場合は、下記のようにして、再現ができる。
gdb -c corefile exefile
その後、whereコマンドで、エラー状態をスタック形式で見るこ...
(gdb) where
上から順に読み進み、問題が発生していると思われる箇所を、...
** 各種コマンド [#od13d7c8]
*** breakの使い方 [#a3fcd7e3]
(gdb) break <クラス名>::<関数名>
(gdb) break <ファイル名>:<行番号>
(gdb) break <ファイル名>:<関数名>
breakpoint が貼れない場合、一度 run を実行すると、貼れる...
更に細かく見る場合は、メモリアドレスを直接指定する。余程...
(gdb) break *{アドレス}
※"*"を忘れずに
breakpoint の削除は、以下のコマンドを使う。
(gdb) delete
breakpoint の一覧は、以下のコマンドを使う。
(gdb) info breakpoints
*** continue [#y5f5d9af]
複数 breakpoint を貼った、或いは複数回呼ばれる場合、次の ...
複数の関数をデバッグする際に、次の breakpoint まで移動す...
*** print [#y6bd3f36]
各変数の値などを表示する。ポインタ変数の場合は、先頭に"*"...
実際の中身が表示される。キャストをして、表示することも出...
(gdb) p <変数名>
実際には以下のように書く。
(gdb) p num
(gdb) p *struct
*** set [#y94909bc]
変数に、値の設定が出来る。エラー箇所にて、もし別の値が設...
*** watch [#ga41dd82]
(gdb) watch <変数名>
指定した変数の値が変化すると、通知する。あまり活用はして...
** その他の活用方法 [#o0705742]
(gdb) p <変数名>
変数のメモリアドレスが表示される。
(gdb) p *<アドレス>
そのアドレスの値を表示することで、スコープ外でもメモリ上...
----
** 履歴 [#zff711b0]
- 2005/09/12 初版
終了行:
* GDBの使い方 [#i588a9bd]
参考URL
- [[ファイヤープロジェクト GDB:http://www.h7.dion.ne.jp/~...
- [[テクニカルノウハウ gdbの使い方(その1):http://www.j.de...
gdb でデバッグしていて、ソースコードが表示されない場合、...
** 我流使用法 [#w92b8cec]
参考URL
- [[GDBの使い方:http://www2u.biglobe.ne.jp/~netoasis/pick...
- [[回復不能なスタックオーバーフロー:http://www.beasys.co...
*** バグ箇所の発見 [#p4b4e971]
$ gdb [exefile]
(gdb) break [function]
(gdb) run (args)
(gdb) s 5
(gdb) s
(gdb) s
動作を確認したい関数へ breakpoint を貼り、ソースコードを...
$ gdb [exefile]
(gdb) run (args)
..Some Error Message..
(gdb)
エラーや例外で停止する場合は、とにかく run で実行をして、...
$ gdb [exefile]
(gdb) break main
(gdb) run (args)
(gdb) s 1000
(gdb) s 100
(gdb) s
(gdb) ...
ソースなどの情報が表示されない場合は、恐らくデバッグ情報...
*** コア再現 [#j1c0046e]
コアを吐くエラーの場合は、下記のようにして、再現ができる。
gdb -c corefile exefile
その後、whereコマンドで、エラー状態をスタック形式で見るこ...
(gdb) where
上から順に読み進み、問題が発生していると思われる箇所を、...
** 各種コマンド [#od13d7c8]
*** breakの使い方 [#a3fcd7e3]
(gdb) break <クラス名>::<関数名>
(gdb) break <ファイル名>:<行番号>
(gdb) break <ファイル名>:<関数名>
breakpoint が貼れない場合、一度 run を実行すると、貼れる...
更に細かく見る場合は、メモリアドレスを直接指定する。余程...
(gdb) break *{アドレス}
※"*"を忘れずに
breakpoint の削除は、以下のコマンドを使う。
(gdb) delete
breakpoint の一覧は、以下のコマンドを使う。
(gdb) info breakpoints
*** continue [#y5f5d9af]
複数 breakpoint を貼った、或いは複数回呼ばれる場合、次の ...
複数の関数をデバッグする際に、次の breakpoint まで移動す...
*** print [#y6bd3f36]
各変数の値などを表示する。ポインタ変数の場合は、先頭に"*"...
実際の中身が表示される。キャストをして、表示することも出...
(gdb) p <変数名>
実際には以下のように書く。
(gdb) p num
(gdb) p *struct
*** set [#y94909bc]
変数に、値の設定が出来る。エラー箇所にて、もし別の値が設...
*** watch [#ga41dd82]
(gdb) watch <変数名>
指定した変数の値が変化すると、通知する。あまり活用はして...
** その他の活用方法 [#o0705742]
(gdb) p <変数名>
変数のメモリアドレスが表示される。
(gdb) p *<アドレス>
そのアドレスの値を表示することで、スコープ外でもメモリ上...
----
** 履歴 [#zff711b0]
- 2005/09/12 初版
ページ名: