首页 > 编程知识 正文

linux下gdb调试用法命令,gdb调试器的使用方法和编译步骤

时间:2023-05-05 06:40:00 阅读:197470 作者:4797

几个常用的gdb调试命令 一、list命令(同l)

1、显示某一行:l 行数
2、显示某个区间:l 行数1,行数2

二、info命令

1、显示所有断点信息:info break
2、显示当前运行行:info s

三、设置断点

1、b(同break) 行数:设置断点;
2、d(同delete)断点号:删除断点;

四、运行命令

1、r(同run):运行,每次都是从开始运行,到下一个断点结束;
2、c(同continue):继续,到下一个断点结束;
3、c(同step):下一条语句;
4、n(同next):进入函数体,下一步;

五、查看变量

1、p(同print) 变量名:打印变量值;
2、watch 变量名:检测变量值,一有变化就打印;

六、调用堆栈

bt

七、汇总 gcc -g main.c //在目标文件加入源代码的信息gdb a.out (gdb) start //开始调试(gdb) n //一条一条执行(gdb) step/s //执行下一条,如果函数进入函数(gdb) backtrace/bt //查看函数调用栈帧(gdb) info/i locals //查看当前栈帧局部变量(gdb) frame/f //选择栈帧,再查看局部变量(gdb) print/p //打印变量的值(gdb) finish //运行到当前函数返回(gdb) set var sum=0 //修改变量值(gdb) list/l 行号或函数名 //列出源码(gdb) display/undisplay sum //每次停下显示变量的值/取消跟踪(gdb) break/b 行号或函数名 //设置断点(gdb) continue/c //连续运行(gdb) info/i breakpoints //查看已经设置的断点(gdb) delete breakpoints 2 //删除某个断点(gdb) disable/enable breakpoints 3 //禁用/启用某个断点(gdb) break 9 if sum != 0 //满足条件才激活断点(gdb) run/r //重新从程序开头连续执行(gdb) watch input[4] //设置观察点(gdb) info/i watchpoints //查看设置的观察点(gdb) x/7b input //打印存储器内容,b--每个字节一组,7--7组(gdb) disassemble //反汇编当前函数或指定函数(gdb) si // 一条指令一条指令调试 而 s 是一行一行代码(gdb) info registers // 显示所有寄存器的当前值(gdb) x/20 $esp //查看内存中开始的20个数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。