记录一下自己使用过的gdb命令
linux指令
objdump -d bomb > bomb.asm
history
gdb指令
GDB用法及命令大全
GDB基本调试命令
GDB常用命令大全
gdb查看内存 (x/100xb)
disas 函数 反汇编
x/s 查看内存,以字符串
run 文件,文件内容做参数
set history filename gdb.history
set history save on
set history size 1000
shell cat gdb.history 查看历史指令
p $rdi //显示rdi寄存器的值,注意和x的区别,这只是显示rdi的值,而不是rdi指向的值
print打印指令
p fun_name //打印函数的地址,需要保留符号
p 0x10-0x08 //计算0x10-0x08的结果
p &a //查看变量a的地址
p a //查看变量a的值
p *array@len //动态数组,@的左边是第一个内存的地址的值,@的右边你想查看内存的长度
p *(0x123456) //查看0x123456地址的值,注意和x指令的区别,x指令查看地址的值不用星号
p $rdi //显示rdi寄存器的值,注意和x的区别,这只是显示rdi的值,而不是rdi指向的值
p *($rdi) //显示rdi指向的值
p/c $eax //用字符显示eax寄存器内容
display/5i $pc 展示接下来的5句话
查命令
- x/8a: 这个命令表示以"ASCII 字符"的格式打印内存中的内容。它会将指定地址开始的连续 8 个字节按照 ASCII 字符的形式进行解释,并打印出来。
- x/8x: 这个命令表示以"十六进制数"的格式打印内存中的内容。它会将指定地址开始的连续 8 个字节以十六进制数的形式进行打印。
总的来说,x/8a 会以 ASCII 字符的形式显示内存内容,而 x/8x 则会以十六进制数的形式显示相同的内存内容。
查看汇编指令
内容。
查看汇编指令
[外链图片转存中…(img-y5gDLRvH-1702123584055)]