Liunx下的core文件

core是unix系统的内核。当你的程序出现内存越界的时候,操作系统会中止你的进程,并将当前内存状态倒出到core文件中,以便进一步分析。



linux系统下执行代码,不能正常运行,程序会core,或者直接离开,不会core



bug和操作系统或硬件的保护机制都会导致程序异常终止,操作系统会kill掉这些进程并产生core文件,程序员可以通过core文件来找出问题所在。
它记录了程序挂掉时详细的状态描述。




什么是core dump
Core的意思是内存, Dump的意思是扔出来, 堆出来.

开发和使用
Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 
这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统把程序down掉时的内存内容扔出来生成的, 
它可以做为调试程序的参考.

core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 
由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump.



如何使用core文件
gdb -c core文件路径 [应用程序的路径]

进去后输入where回
车, 就可以显示程序在哪一行当掉的, 在哪个函数中.

为什么没有core文件生成呢?
有时候程序
down了, 但是core文件却没有生成. core文件的生成跟你当前系统的环境设置有关系, 可以用下面的语句设置一下, 
然后再运行程序便成生成core文件.

ulimit -c unlimited

core文件生成的位置一般于运行程序的路径相同, 
文件名一般为core.进程号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值