ゾンビ狩りクラブ

Linux, Server, Network, Security 関連などをゆるーくテキトーに載せてます

gdb 主なコマンド一覧

gdbの基本的なコマンドのメモ

1. run (r)

プログラムを開始する

書式
- run
- run [arguments]

2. start

main関数にブレークポイントを設定してプログラムを実行する
gdbの基本的なコマンドのメモ

1. run (r)

プログラムを開始する

書式
- run
- run [arguments]

2. start

main関数にブレークポイントを設定してプログラムを実行する

書式
- start
- start [arguments]

3. break (b)

ブレークポイントを設定する

書式
- break
- break [function]
- break *[address]

4. info breakpoints (info b)

設定したブレークポイントの一覧を表示する

書式
- info breakpoints

5. delete (d)

指定した番号のブレークポイントを削除する

書式
- delete [num]
- delete [num1] [num2] ...

6. clear

指定した場所のブレークポイントを削除する

書式
- clear [function]
- clear *[address]

7. disable

指定した番号のブレークポイントを無効にする

書式
- disable [num]
- disable [num1] [num2] ...

8. enable

指定した番号のブレークポイントを有効にする

書式
- enable [num]
- enable [num1] [num2] ...

9. continue (c)

次のブレークポイントまでプログラムを実行する

書式
- continue
- continue [repeat count]

10. nexti (ni)

現在の命令を実行する(関数内に入らない)

書式
- nexti

11. stepi (si)

現在の命令を実行する(関数内に入る)

書式
- stepi

12. disassemble (disas)

関数や関数の断片を逆アセンブルする

書式
- disassemble [function]
- disassemble [address]
- disassemble [start], [end]
- disassemble [function], +[length]
- disassemble [address], +[length]

13. x

examine の x
特別なフォーマットを用いて指定したアドレスの内容を表示する

書式
- x - x [address expression]
- x/[format][address expression]
- x/[length][format][address expression]

上記の format は以下が使用できる。

format 説明
o octal
x hexadecimal
d decimal
u unsigned decimal
t binary
f floating point
a address
c char
s string
i instruction

また、length は以下が使用できる。

length 説明
b byte
h halfword (16-bit value)
w word (32-bit value)
g giant word (64-bit value)

14. print (p)

与えられた表現の値を表示す

書式
- print [expression]
- print $[previous value number]
- print ([type])[address]

15. info registers (i r)

全レジスタの内容を表示する

書式
- info registers

16. quit (q)

gdbを終了する

書式
- quit

参考

書籍

実践 デバッグ技法 ―GDB、DDD、Eclipseによるデバッギング

実践 デバッグ技法 ―GDB、DDD、Eclipseによるデバッギング

GDBハンドブック

GDBハンドブック

- start
- start [arguments]

3. break (b)

ブレークポイントを設定する

書式
- break
- break [function]
- break *[address]

4. info breakpoints (info b)

設定したブレークポイントの一覧を表示する

書式
- info breakpoints

5. delete (d)

指定した番号のブレークポイントを削除する

書式
- delete [num]
- delete [num1] [num2] ...

6. clear

指定した場所のブレークポイントを削除する

書式
- clear [function]
- clear *[address]

7. disable

指定した番号のブレークポイントを無効にする

書式
- disable [num]
- disable [num1] [num2] ...

8. enable

指定した番号のブレークポイントを有効にする

書式
- enable [num]
- enable [num1] [num2] ...

9. continue (c)

次のブレークポイントまでプログラムを実行する

書式
- continue
- continue [repeat count]

10. nexti (ni)

現在の命令を実行する(関数内に入らない)

書式
- nexti

11. stepi (si)

現在の命令を実行する(関数内に入る)

書式
- stepi

12. disassemble (disas)

関数や関数の断片を逆アセンブルする

書式
- disassemble [function]
- disassemble [address]
- disassemble [start], [end]
- disassemble [function], +[length]
- disassemble [address], +[length]

13. x

examine の x
特別なフォーマットを用いて指定したアドレスの内容を表示する

書式
- x - x [address expression]
- x/[format][address expression]
- x/[length][format][address expression]

上記の format は以下が使用できる。

format 説明
o octal
x hexadecimal
d decimal
u unsigned decimal
t binary
f floating point
a address
c char
s string
i instruction

また、length は以下が使用できる。

length 説明
b byte
h halfword (16-bit value)
w word (32-bit value)
g giant word (64-bit value)

14. print (p)

与えられた表現の値を表示す

書式
- print [expression]
- print $[previous value number]
- print ([type])[address]

15. info registers (i r)

全レジスタの内容を表示する

書式
- info registers

16. quit (q)

gdbを終了する

書式
- quit

参考

書籍

実践 デバッグ技法 ―GDB、DDD、Eclipseによるデバッギング

実践 デバッグ技法 ―GDB、DDD、Eclipseによるデバッギング

GDBハンドブック

GDBハンドブック