您的位置:首页 > 运维架构 > Linux

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

2017-07-19 17:06 218 查看
一.相关知识

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文件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: