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 | インストラクションポインタの指す内容 |