开发过程中的一次GDB调试

 

1. 程序运行过程中偶尔出现段错误如下:

 

2.对生成的 core 文件的大小不进行限制

ulimit – c unlimited

3.添加g++中的调试选项,ggdb3用于输出调试信息,其中3标识调试级别,调试级别越高输出的冗余信息越多。

4. 重新段错误生成core文件,由于是偶尔发生段错误,所以得多运行几次才行:

 

生成了core文件名称为:core.4982,其中4982是进出的PID值。

5. 调试core文件

 

gdb没有找到调试符号信息。于是需要加入符号信息。

 

下面拿到了符号信息,但是对解决问题没有帮助。 

 

于是再运行了几次,终于爆出了问题的提示。

 

 

两次释放内存的错误,而且_ZN4CFCR9TDatabase18disconnectDatabaseEv+0x20给出了提示,连接了一次数据库,却释放了两次。无意中的错误啊。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值