如何使用gdb调试coredump文件

目录

coredump文件是啥

使用gdb命令对core文件进行调试:

程序崩溃了没产生coredump文件怎么办:

gdb怎么调试coredump文件


coredump文件是啥

        coredump是由于程序异常或者bug在运行时异常退出或者终止,进行运行时突然崩溃得一瞬间得快照,生成一个core文件,这个core文件记录了程序在运行过程时得内存,寄存器状态,内存指针和函数堆栈信息等等。

使用gdb命令对core文件进行调试:

使用gdb:

小结下:

  • C/C++程序崩溃的情况下,可能会产生 coredump文件。
  • coredump文件保存了进程崩溃时,内存、寄存器、运行堆栈等等的信息。后续可以通过coredump文件进行查看进程崩溃的原因,进而修复代码bug。

程序崩溃了没产生coredump文件怎么办:

使用ulimit -a 查看core file size 的值:

小结:

  • 如果程序崩溃产生不了coredump文件,则排查core file size的值 以及 磁盘空闲空间的大小
  • core file size的值为 unlimited : ulimit -c unlimited

gdb怎么调试coredump文件

 g++ gdb_test.cpp -o mygdbtest -g   // 生成gdb

 gdb mygdbtest core.22450    //  进入调试文件

1. bt:查看调用堆栈情况;

2. f 0 :选择要查看的第几行;

3. 找到错误 修复代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值