- 7
- 0
- 约5.03千字
- 约 5页
- 2017-05-27 发布于河南
- 举报
linux core dump详解
1. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件-行, 而是没有任何信息, 使得我们的调试变得困难起来.2. gdb:有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可行的, 但要让你step一个上万行的代码, 我想你会从此厌恶程序员这个名字, 而把他叫做调试员.我们还有更好的办法, 这就是core file.3. ulimit:如果想让系统在信号中断造成的错误时产生core文件, 我们需要在shell中按如下设置:#设置core大小为无限ulimit -c unlimited#设置文件大小为无限ulimit unlimited这些需要有root权限, 在ubuntu下每次重新打开中断都需要重新输入上面的第一条命令, 来设置core大小为无限.4. 用gdb查看core文件:下面我们可以在发生运行时信号引起的错误时发生core dump了.发生core dump之后, 用gdb进行查看core文件的内容, 以定位文件中引发core dump的行.gdb [exec file] [core file]如:gdb ./test test.core在进入gdb后, 用bt命令查看backtrace以检查发生程序运行到哪里, 来定位core dump的文件-行.
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们如何利用core文件找到出现崩溃的地方。
何谓core文件
当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。
当程序接收到以下UNIX信号会产生core文件:
名字 说明 ANSI C? POSIX.1 SVR4? 4.3+BSD 缺省动作 SIGABRT 异常终止(abort) ? .?????? . ? .????? . 终止w/core SIGBUS 硬件故障 ????????? . ? .????? . 终止w/core SIGEMT 硬件故障 ? ? .????? . 终止w/core SIGFPE 算术异常 ? .?????? . ? .????? . 终止w/core SIGILL 非法硬件指令 ? .?????? . ? .????? . 终止w/core SIGIOT 硬件故障 ? ? .????? . 终止w/core SIGQUIT 终端退出符 ????????? . ? .????? . 终止w/core SIGSEGV 无效存储访问 ? .?????? . ? .????? . 终止w/core SIGSYS 无效系统调用 ? ? .????? . 终止w/core SIGTRAP 硬件故障 ? ? .????? . 终止w/core SIGXCPU 超过CPU限制(setrlimit) ? ? .????? . 终止w/core SIGXFSZ 超过文件长度限制(setrlimit) ? ? .????? . 终止w/core 在系统默认动作列,“终止w/core”表示在进程当前工作目录的core文件中复制了该进程的存储图像(该文件名为core,由此可以看出这种功能很久之前就是UNIX功能的一部分)。大多数UNIX调试程序都使用core文件以检查进程在终止时的状态。
core文件的产生不是POSIX.1所属部分,而是很多UNIX版本的实现特征。UNIX第6版没有检查条件(a)和(b),并且其源代码中包含如下说明:“如果你正在找寻保护信号,那么当设置-用户-ID命令执行时,将可能产生大量的这种信号”。4.3 + BSD产生名为core.prog的文件,其中prog是被执行的程序名的前1 6个字符。它对core文件给予了某种标识,所以是一种改进特征。
表中“硬件故障”对应于实现定义的硬件故障。这些名字中有很多取自UNIX早先在DP-11上的实现。请查看你所使用的系统的手册,以确切地确定这些信号对应于哪些错误类型。
下面比较详细地说明这些信号。
? SIGABRT 调用abort函数时产生此信号。进程异常终止。
? SIGBUS ?指示一个实现定义的硬件故障。
? SIGEMT ?指示一个实现定义的硬件故障。
EMT这一名字来自PDP-11的emulator trap 指令。
? SIGFPE ?此信号表示
您可能关注的文档
最近下载
- 《自然教育》课件——自然记录.pptx VIP
- 2022年湖北省荆州市中考英语试题(含答案解析).docx VIP
- 《弟子规》与职业素养教育 课件全套 第1--8部分 总叙---余力学文.pptx
- 摩托车骑行安全培训课件.pptx VIP
- 国际压力性损伤-溃疡预防和治疗临床指南(2025年版)解读PPT课件.pptx VIP
- pcs-9651_080948技术和使用说明书.pdf VIP
- 医学课讲课技巧与方法.pptx VIP
- 《我的个性名片》综合实践课件(后附完整教学设计).pptx VIP
- 《电磁场与电磁波基础教程》读书笔记.pptx VIP
- 第5课 《认识情绪 管理情绪》课件 - 中职高教版心理健康与职业生涯.ppt
原创力文档

文档评论(0)