最近在 Linux Qt上做开发,发现程序异常crash,用core dump文件也没有记录下来有用的信息,如下图:
定位程序异常crash 的过程百般痛苦,虽然最后是用 把core dump文件大小的限制取消,完整记录程序崩溃的堆栈信息结合gdb 定位到问题,但发现网友分享的 不用core -dump 定位bug的方法,故记录下来,以备他日试用。
有时写c/c++程序,运行后出现core, 如果有core文件则可以gdb方便的定位问题,
可是,当core文件找不到(或被删除)时如何定位?
刚做了个测试,在没有core文件的情况下对程序bug进行定位
cat core.cpp
1 #include <iostream>
2
3 int main(int argc, char** argv){
4
5 int *p = NULL;
6 for(int i=0; i<15; i++){
7 p[i] = i;
8 }
9
10 return 0;
11 }
<