linux下core dump的妙用

本文介绍了Linux下的core dump,它是进程执行时内存内容的映像,用于调试。当进程因段错误或接收到信号终止时,系统会产生core dump文件。core dump在定位系统hang住、panic或应用程序错误等问题时非常有用。要生成core dump,需要通过`ulimit -c`设置大小,并用`echo`命令修改core dump的保存位置和名称。举例说明了配置后,程序崩溃时core dump文件的生成情况。
摘要由CSDN通过智能技术生成

什么是core dump?

在UNIX系统中,常将“主内存”(main memory) 称为核心(core),因为在使用半导体作为内存材料之前,便是使用核心(core)。而核心映像(core image) 就是 “进程”(process)执行当时的内存内容。当进程发生段错误或收到“信号”(signal) 而终止执行时,系统会将核心映像写入一个文件,以作为调试之用,这就是所谓的核心转储(core dump)。core dump通常包含寄存器状态,堆栈指针,内存管理信息。

core dump的用处

core dump可以用在很多场合,使用Linux,或者solaris的人可能都有过这种经历,系统在跑一些压力测试或者系统负载一大的话,系统就hang住了或者干脆system panic。这时候就可以通过core dump来定位这类问题。现在很多应用程序出错时也会出现core dump,比如段错误。core dump 对于编程人员诊断和调试程序是非常有帮助的,因为对于有些程序错误是很难重现的,例如指针异常,而 core dump 文件可以再现程序出错时的情景。

如何产生core dump?

linux默认是不产生core dump文件的,ulimit -a显示

linux-pm2g:/mnt/hgfs/E/test # ulimit -a
core file size          (blocks, -c) 1//core dump file
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15966
max
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值