linux のデバッガーgdb、忘れてしまうので、、、メモ。
| コマンド | 説明 |
| s | ステップ実行 |
| n | ステップ(関数スキップ) |
| p name | 変数表示 |
| p *name | ポインタが指す内容 |
| p (char[8]) name | 長さ指定 |
| p &name | アドレス |
| i b | ブレークポイント一覧 |
| d n | ブレークポイント削除 |
| i r | レジスタ表示 |
| l [関数名] | リスト表示 |
| where | アベンド場所表示 |
| up | 関数間移動 |
| down | 関数間移動 |
| set name = 1 | 変数設定 |
| b nnn | ブレークポイント設定 |
| watch i==10 | 変数が変更されたとき停止 |
| run | 実行 |
| cont | 続行 |
| display xx | 停止したとき表示 |
| finish | 現在の関数が復帰するまで実行 |
| clear nn | ブレークポイントクリア |
| disable nn | ブレークポイント一時クリア |
| enable nn | ブレークポイント再開 |
| attach process | プロセスにアタッチ |
| detach | デタッチ |
| q | 終了 |
オプションファイル指定機能。初期コマンドをファイルで指定。
gdb -x .init-file aa
表示形式:
p/x name --- 16進で表示。
| x | 16進数 |
| d | 10進数(デフォルト) |
| u | 符号なし10進数 |
| o | 8進数 |
| t | 2進数 |
| a | アドレス |
| c | 文字 |
| f | 浮動小数点数 |
| i | 命令 |
表示できるレジスタを以下に示します。
| eax | 汎用レジスタ |
| ebx | 汎用レジスタ |
| ecx | 汎用レジスタ |
| edx | 汎用レジスタ |
| esp | スタックポインタ |
| ebp | ベースポインタ |
| esi | 汎用レジスタ |
| edi | 汎用レジスタ |
| eip | インストラクションポインタ |
| ps (eflags) | プロセッサ・ステータス(フラグレジスタ) |
| cs | セグメントレジスタ |
| ss | セグメントレジスタ |
| ds | セグメントレジスタ |
| es | セグメントレジスタ |
| fs | セグメントレジスタ |
| gs | セグメントレジスタ |
| pc | インストラクションポインタの指す内容 |