微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

gdb常用命令

 

gdb test            调试 test 程序
r                   运行(完整命令: run )
n                   单步步过(完整命令: next )
s                   单步步入(完整命令: step )
c                   继续执行(完整命令: continue )
q                   离开gdb(完整命令: quit )
set arg 10 20 30    指定运行时参数(完整命令: set args )
show arg            查看设置好的运行参数(完整命令: show args )
r 10 20 30          指定参数 10 20 30 并运行
set follow-f c      调试子进程(完整命令: set follow-fork-mode child )
set follow-f p      调试父进程(完整命令: set follow-fork-mode parent )
show follow-f       显示fork 进入子进程还是父进程(完整命令: show follow-fork-mode )
 
b 800       断点第800行(完整命令: break )
i b         查看断点列表(完整命令: info )
d 1         删除断点列表中的1号断点(完整命令: delete )
d           删除所有断点
dis 3       禁用 断点列表中的 3号断点(完整命令: disable )
dis         禁用全部断点
en  3       启用 断点列表中的 3号断点(完整命令: enable )
en          启用全部断点
 
l 700           查看 700行开始的后边10行(完整命令: list )
l 800,850       查看800到850行
p base64_len    打印程序变量base64_len的值(完整命令: print )
p $eip          (32位有效)查看寄存器eip的值,可查看当前代码执行地址		
p $rip          (64位有效)查看寄存器rip的值,可查看当前代码执行地址		
i r             显示所有寄存器
bt              显示函数调用栈 可以知道当前所在的行数(完整命令: backtrace )
dir /root/diy   设置源代码路径 用于编译文件删除了的情况 手动指定源码目录(完整命令: directory )
 
disas /m                    显示 eip附近的源码和汇编码(完整命令: disassemble )
disas /m main               显示 main函数的源码和汇编码
disas 0x080626b8            显示 0x080626b8地址附近的汇编码
disas 0x080626b8,0x080626d8 显示 0x080626b8 和 0x080626d8 之间的汇编码
 
x/32xw 0xffffcd04   显示指针数组
x/1s 0x0807816d     显示字符串
x/32xb 0x807816d    显示单字节

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐