内容提要:
主要包含两部分内容:
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 文件的头部信息
- 定义
2 ) ldinfo 结构信息
- 定义
3 ) mstsave 结构信息
- 定义核心线程的状态信息,错误线程的
程序有效,除错误线程外的其他线程的 mstsave 结构信息存与此区域。
4 ) 缺省的用户堆栈数据
- 存储
5 ) 缺省的数据区域
- 存储用户数据区域信息
6 ) 内存映射数据
- 存储匿名的内存映射数据
7 ) vm_info 结构信息
- 存储内存映射区域的地址偏移量和大小信息
缺省情况下,用户数据、匿名的内存区域和vm_info 结构信息并不包含在core 文件中,core 文件值包含当前的进
程堆栈、线程堆栈、线程mstsave 结构、用户结构和错误时的寄存器信息,这些信息足够跟踪错误的产生。Core