Linux/ubuntu下core文件的产生与使用

一.相关知识

1)何为core文件?

        核心文件(core file),也称核心转储(core dump),是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。这种信息往往用于调试。[摘自百度百科]

        A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally (crashed). In practice, other key pieces of program state are usually dumped at the same time, including the processor registers, which may include the program counter and stack pointer, memory management information, and other processor and operating system flags and information. The name comes from the once-standard memory technology core memory. Core dumps are often used to diagnose or debug errors in computer programs.

On many operating systems, a fatal error in a program automatically triggers a core dump, and by extension the phrase "to dump core" has come to mean, in many cases, any fatal error, regardless of whether a record of the program memory is created.[摘自维基百科]    


二.示例 ubuntu下core文件的产生

1)查看相关环境,如下图中

查看相关环境

注:core file size 为 0,core file产生还没打开

2)写一个简单的存在问题的c++程序并运行

运行出错

注:运行出错,提示段错误(访问空指针),由于没有打开core文件的开关,故没有产生core文件的信息

3)打开core文件产生的”开关“

打开core文件产生的开关

注:设置core file size来开否core文件的产生,这里的1024是喜好值,可以根据实值情况调整

4)运生程序出错并生成core文件

查看产生的core文件

注:默认在当前工作目录产生core文件,而文件名为core

[更改core文件产生的格式]

更新core文件的名称

注:修改/proc/sys/kernel/core_pattern的内容为core-%p-%e-%t,原来的内容为core

5)使用gdb调试core文件

使用gdb

三.有关core文件相关的知识汇总


四.参考文章

1)http://hi.baidu.com/donghaozheng/blog/item/1ef1ebdda53a38e376c63898.html

2)http://blog.csdn.net/shaovey/article/details/2744487

http://www.cnblogs.com/momi/archive/2012/03/18/2404598.html

http://blog.csdn.net/sunboy_2050/article/details/5945152

http://blog.csdn.net/shaovey/article/details/2744487

http://www.cppblog.com/kongque/archive/2011/03/07/141262.html

http://www.cnblogs.com/momi/archive/2012/03/18/2404598.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值