目录
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. 找到错误 修复代码