gdb学习记录(一)

前段时间在Linux下面写程序,然后遇到不爽的一点就是调试极其麻烦,各种不爽,然后看见gdb调试(自己太孤陋寡闻了),这个调试工具好强大,唯一不爽的就是好多命令,真希望脑袋里面有个存储芯片。


笔记
对于需要调试的程序首先要执行的就是
g++ -g test.cpp -o test     注意-g不能缺少,因为这是保留编译信息
如果没有-g,就看不见程序的函数名,变量名,所代替的全是运行时的内存地址

然后调试的时候gdb test
break  n   在第n行添加断点

info  break  查看断点信息

delete  num  断点的删除(注意此处num不是行号,通过info查看断点标号)
l  是列出代码
r  是运行
p i  答应出i的值
n  是执行下一句话
c  是继续执行,执行到下一处断点
bt 是查看函数栈的情况,可以通过这个来查看栈里面函数的情况
finish 执行完当前函数
q  退出调试,将程序执行结束


启动gdb 的几种方法
1. gdb <program>     
   program是可执行文件
2. gdb <program> core 
   用gdb同时调试一个运行程序和core文件,core 是程序非法执行后的文件
3. gdb <program> <PID>
   如果程序是一个服务程序,那么就可以制定这个服务器运行时的进程ID,
   gdb会自动attach上去,并调试他。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值