gdb メモ

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