目录
编译可调式可执行文件
gcc -g main.c -o bomb
启动调试
gdb bomb // bomb是可执行程序
gdb -q bomb
常用命令
GDB调试操作_颜 然的博客-CSDN博客_gdb 调试
反汇编一个函数
(gdb)disasseble string_not_equal // string_not_equal是函数名称
显示全部寄存器信息
(gdb)info register
显示指定寄存器信息
info register esi
GDB调试查看内存数据
格式:x /nfu (x是examine的缩写)
n是要显示的内存单元的个数,比如8个
f表示显示方式,有如下:
x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
i 指令地址格式
c 按字符格式显示变量。
f 按浮点数格式显示变量。
s 按字符串显示内存内容
u表示一个地址单元的长度:
b表示单字节,
h表示双字节,
w表示四字节,
g表示八字节
示例
(gdb) x /8xg 0x402470
0x402470: 0x0000000000400f7c 0x0000000000400fb9
0x402480: 0x0000000000400f83 0x0000000000400f8a
0x402490: 0x0000000000400f91 0x0000000000400f98
0x4024a0: 0x0000000000400f9f 0x0000000000400fa6