gdb 实用小记

 

将日常常用的gdb操作记下来,记忆力不好


1.gdb 调试程序

gdb 程序文件


2.gdb 调试进程

gdb attach 进程pid


3.gdb 调试core文件

gdb --core=core文件 也可以 gdb -c core文件

也可以 gdb xx.dbg(带-g编译后的可执行文件) core文件 这样挺方便的,同时载入带符号的文件和core文件


4.gdb 常用命令


打断点

b 函数名 or  文件名:行号

info b 查看所有断点

delete b 断点编号(可以从info b里看到)

disable b 断点编号 


frame操作

info f 查看所有frame

frame frame编号 切换frame(可以从info f 看到)

info locals (可以查看所有当前frame的局部变量)

bt 查看进程经历的frame列表


在调试core文件,以及查看当前运行点之前的frame里局部变量很有用


一般操作

p 变量名 打印变量值

n 下一步

s 下一步,如果是函数会进入调用的函数里

finish 跳出循环或者函数

c 继续

ctrl+c 中断,这样就可以进行gdb设置,比如设置新的断点,查看其它信息之类,一般在c命令使用后,又想进行gdb操作时使用


好像经常用的就这么多,发现gdb是个神器啊,+上emacs+cscope+autocomplete,+make,真的不需要ide了,emacs的编辑速度真够快的。另外tcpdump是个调试网络的神器,介绍的文章网上很多

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值