core文件分析

本文主要介绍了Unix平台上的Core文件,包括其产生原因、内容组成和分析方法。Core文件包含了进程异常时的错误信息,如内存地址错误、非法指令等。文章详细阐述了Core文件的头部信息、ldinfo结构、mstsave结构、堆栈数据、数据区域和内存映射数据等内容,并提供了一个简单的程序示例用于分析Core文件的基本信息,如创建进程、错误信号、线程和进程ID等。通过dbx等调试工具,可以进一步深入分析Core文件以定位错误原因。
摘要由CSDN通过智能技术生成
               

内容提要:
主要包含两部分内容:
1,core文件描述
2,core文件分析

说明:


一,Core 文件描述
Coredump 在unix 平台是非常容易出现的一种错误形式,直接表现形式为core 文件, core 文件产生于当前目录下,
通常,象内存地址错误、非法指令、总线错误等会引起coredump ,core 文件的内容包含进程出现异常时的错误影
像。如果错误进程为多线程并且core 文件的大小受限于ulimit 的系统限制,则系统只将数据区中错误线程的堆栈区
复制到core 文件中。
应当注意,从AIX 5L 版本5.1 开始core 文件的命名格式可以通过环境变量CORE_NAMING 设置,其格式为:
core.pid.ddhhmmss ,分别代表为:
pid :进程标示符
dd :当前日期
hh :当前小时
mm :当前的分钟
ss :当前的秒
core 文件的缺省格式为老版本的格式,coredump 文件的内容按照以下的顺序组织:
1 ) core 文件的头部信息

  • 定义
coredump 的基本信息,及其他信息的地址偏移量

2 ) ldinfo 结构信息

  • 定义
loader 区的信息

3 ) mstsave 结构信息

  • 定义核心线程的状态信息,错误线程的
mstsave 结构信息直接存储在 core 文件的头部区,此区域只对多线程的
程序有效,除错误线程外的其他线程的 mstsave 结构信息存与此区域。

4 ) 缺省的用户堆栈数据

  • 存储
coredump 时的用户堆栈数据

5 ) 缺省的数据区域

  • 存储用户数据区域信息

6 ) 内存映射数据

  • 存储匿名的内存映射数据

7 ) vm_info 结构信息

  • 存储内存映射区域的地址偏移量和大小信息

缺省情况下,用户数据、匿名的内存区域和vm_info 结构信息并不包含在core 文件中,core 文件值包含当前的进
程堆栈、线程堆栈、线程mstsave 结构、用户结构和错误时的寄存器信息,这些信息足够跟踪错误的产生。Core

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值