gdb 调试

gcc -g main.c  //在目标文件加入源代码的信息

gdb a.out  

(gdb) set env  LD_LIBRARY_PATH  /tmp       // gdb 里设置环境变量

(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个数

 

 

(gdb) set env  LD_LIBRARY_PATH  /tmp       // gdb 里设置环境变量

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值