【【快手腾讯面试题】工具面试题1-2 如何使用gdb调试coredump文件。秋招,校招各类面试题的讲解】 https://www.bilibili.com/video/BV1jH4y1S7Uc/?share_source=copy_web&vd_source=1de4bbd746d463f3e044efb880331206
- 什么coredump文件,怎么产生coredump文件
- 程序崩溃产生不了coredump文件怎么办?
- gdb怎么调试coredump文件
- 程序崩溃产生不了coredump文件怎么办?
- 看个现象, 对应代码
#include <iostream>
int main(){
int* ptr = nullptr;
*ptr = 100; //程序运行在这里的时候, 就会发生崩溃。
return 0;
}
-
core file size
-
当ulimit -a查看的core file size的值
-
当coredump(1000)的大小 < core file size (8000)吗?
1. 小于或者等于 : 程序崩溃可能会产生coredump文件- coredump的大小 < 磁盘空闲空间大小吗?
- 小于 : 程序崩溃一定会产生coredump文件
- 大于 : 程序一定不会产生coredump文件
2. 大于 : 程序崩溃一定不会产生coredump文件
- 一般设置core file size的值为 unlimited
- ulimit -c unlimited
小结:
- 如果程序崩溃产生不了coredump文件,则排查core file size的值 以及 磁盘空闲空间的大小
- core file size的值为 unlimited : ulimit -c unlimited