GDB メモ

個人的によく使うコマンドをメモ

なにかあれば、随時更新予定

gdb ./program

ブレークポイントのセット

b *0x80482D8

main関数にブレークポイントをセット

b main

ブレークポイントの削除 (ブレークポイントの番号は"i b"コマンドで確認)

d [ブレークポイントの番号]

ブレークポイントの無効化

disable [ブレークポイントの番号]

実行

r

ステップオーバー実行

ni

ステップイン実行

si

次のブレークポイントまで動作を実行

c

レジスタの値を読み出す

例:eaxレジスタの値を読み出す
p $eax

レジスタに値をセットする

例:eaxレジスタに1584452044という値をセットする
set $eax = 1584452044

メモリの内容を文字列として読み出す

例:ebpレジスタから-78の位置にあるアドレスの内容を文字列として読み出す
x/s $ebp-0x4e

任意のアドレス上の値を読み出す

x 0xdeadbeef

ASLRの無効化

set disable-randomization on

ASLRの有効化

set disable-randomization off

アセンブリ言語の記法をIntel記法に切り替える (デフォルトはAT&T記法)

set disassembly-flavor intel

アセンブラ画面を立ち上げる

layout asm

プログラムを引数付きでデバッグする

gdb --args ./program "put your arg here"

参考

https://cs.brown.edu/courses/cs033/docs/guides/gdb.pdf

Leave a Reply

Your email address will not be published. Required fields are marked *