Unix/Linux使用core文件调试程序

当Unix/Linux系统中的程序因Segmentation fault崩溃时,会生成core文件,这是由于进程收到SIGSEGV信号导致的。core文件包含了进程的内存映象,便于调试。除了SIGSEGV,其他如Floating exception等信号也会触发coredump。为了调试,需要使用gcc的-g选项编译程序,然后通过ulimit调整core文件大小。最后,可以利用GDB分析core文件以定位问题。
摘要由CSDN通过智能技术生成

Linux系统中在应用程序运行过程中经常会遇到程序突然崩溃,提示:Segmentation fault,这是因为应用程序收到了SIGSEGV信号。这个信号提示当进程发生了无效的存储访问,当接收到这个信号时,缺省动作是:终止w/core。 终止w/core的含义是:在进程当前目录生成core文件,并将进程的内存映象复制到core文件中,core文件的默认名称就是“core”(这是Unix类系统的一个由来已久的功能)。

事实上,并不是只有SIGSEGV信号产生coredump,还有下面一些信号也产生:

SIGFSZ

超过晚间长度限制

.       .

 .      .

终止w/core

SIGABRT

异常终止(abort)

  .       .

  .      .

终止w/core

SIGBUS

硬件故障

          .

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值