日期:2014-05-16 浏览次数:20661 次
一.相关知识
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 file size来开否core文件的产生,这里的1024是喜好值,可以根据实值情况调整
4)运生程序出错并生成core文件
注:默认在当前工作目录产生core文件,而文件名为core
[更改core文件产生的格式]
注:修改/proc/sys/kernel/core_pattern的内容为core-%p-%e-%t,原来的内容为core
5)使用gdb调试core文件
三.有关core文件相关的知识汇总
四.参考文章
1)http://hi.baidu.com/donghaozheng/blog/item/1ef1ebdda53a38e376c63898.html
2)http://blog.csdn.net/shaovey/article/details/2744487