Unix/Linux段错误之core文件查看

当Unix/Linux程序出现'段错误'时,若系统允许生成core文件,可以借此分析原因。core文件是程序崩溃时的内存镜像,配合gdb和编译时的-g选项,可以定位错误行,例如在Debian7上,通过gdb查看core文件,使用tb或where命令找到错误源,如本例中空指针赋值导致的段错误。
摘要由CSDN通过智能技术生成

对Unix/Linux环境下运行的程序,有时会报出“段错误”、“段错误(吐核)”、“core dump”等信息,程序并终止。如果系统中的ulimit -c 足够大的话,会在程序目录下生成core文件。

那么core文件又是什么呢,大概内容是程序崩溃时的内存镜像。如果我们在程序编译时加了-g选项(添加调试信息),那么我们可以通过gdb去查看程序崩溃的原因。

下面通过源代码举例一下(Debian7操作系统):

代码比较简单,就是给空指针赋值。


保存后,gcc -g gdbdemo.c -o gdbdemo生成可执行文件。

然后查看ulimit -c 是否允许生成core文件,如果为0,则修改成其他值 或 unlimited值。

运行./gdbdemo程序后,报出“段错误(吐核)”信息,并生成core文件。

gdb ./gdbdemo ./core可查看core文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值