GDB调试 和 coredump文件

1、GDB调试

https://blog.csdn.net/21cnbao/article/details/7385161#commentBox

https://www.cnblogs.com/lsgxeva/p/8078670.html

2、coredump 查看程序异常崩溃时的状态

2.1开启coredump:     

             查看命令:【ulimit -c 】 查看当前终端是否开启   【输出0 未开启  ; 输出unlimited 已开启】

             开启命令:【ulimit -c  unlimited】  or   【ulimit -c  200】。设置core文件的大小

             永久开启:修改配置文件 /etc/security/limits.conf

开启后,程序运行崩溃,在当前文件夹会出现core文件,保存了崩溃时的内存状态和寄存器状态。core文件也是一种ELF文件,可以使用【readelf命令查看】

2.2配合gdb查看core文件

           命令【gdb ./program  core 】。同时要求program程序GCC编译时使用-g选项 添加调试信息到执行文件。

2.3coredump文件产生的原因:

           1、内存访问越界;2、多线程程序使用了线程不安全的函数;3、多线程读写数据未加保护锁;4、非法指针;5、堆栈溢出。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值