core dump的简单测试

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-17 04:09   11   0

用C++编写的程序在运行出错时,系统会生成core dump文件,如果系统没有生成可以通过命令

 ulimit -c unlimited

使系统生成产生core文件,这样就可以利用core文件查看程序是在哪一行出现错误了,具体的方法如下:

1、程序编译时要加-g选项,保证debug信息生成在应用程序当中

2、如果运行过程中出错,执行下面命令查看程序哪里出现错误:

gdb a.out core

举例来说:

#include <stdio.h>
int main(int argc, char** argv) {
  int* p = NULL;
  *p = 10;
}

上面的程序会运行出错,用g++ -g编译后,生成a.out,运行a.out,产生core文件,当执行gdb a.out core时,gdb会自动停止在出错的位置。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP