2020/3/30 学习总结 【gdb 、core】

2020/3/30 【gdb 、core】

今天学习了 gdb调试,在调试的过程中,需要在编译代码时加上 -g 选项,才能使用gdb工具进行调试,我在编译的过程中遇到了core dumped 文件,他就是遇到段错误生成的核心转储文件,它可以记录源文件代码信息。

调试的方法基本如下:先敲调试命令:gdb test core   之后敲命令 bt    ,就直观的看到出现段错误的具体的一行代码, 于是我就查了一下,发现出现段错误原因是 内存访问越界、野指针等,这时我还是不能确定我到底是哪里出错了,于是我就决定一步一步的调试代码。

我敲命令 gdb test , 进入调试,敲命令 b 10 设置断点(因为在刚才调试core文件时,我知道了我出现问题实在地10行代码),然后敲命令 r 开始运行,代码运行到10行时停下,接着敲命令 n 一步一步的往下走,最后发现函数返回值返回了一个空指针,突然明白了,原来我的问题就是使用了空指针进行操作,导致段错误。

总结:gdb调试不是多复杂,重点时自己的心态要平和,不要害怕他,大胆的进行操作,一切都会迎刃而解,他也没有什么特定的顺序,大胆的敲命令运行就慢慢懂了,我还记住了一些命令:l 显示10行代码; q 退出     ;还有就是 为了防止出现这次的段错误,应该在返回值处判断一下,如果返回值为NULL就要输出提示;  好了,今天就这么多。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值