AIX 下的 core dump 分析入门
2008-11-10 08:27:41 来源:WEB开发网生成过程
进程 core dump 与系统 dump 的产生,从程序原理上来说是基本一致的。dump 的生成一般是在系统进行中断处理时进行的,下面简单介绍一下中断机制。
操作系统的中断机制
操作系统是由中断驱动的。广义的中断一般分为两类,中断 (Interrupts) 和异常 (Exceptions)。中断可在任何时候发生,与 CPU 正在执行什么指令无关,中断主要由 I/O 设备、处理器时钟(分时系统依赖时钟中断划分时间片)或定时器等硬件引发,可以被允许或取消。而异常是由于 CPU 执行了某些指令引起的,可以包括存储器存取违规、除 0 或者特定调试指令等,内核也将系统服务视为异常。系统对这两类中断的处理基本上是相同的。
每个中断都会唯一对应到一个中断处理程序,在该中断触发时,相应的处理程序就会被执行。例如应用进程进行系统调用时,就会触发一个软件异常,进入中断处理函数,完成从用户态到系统态的迁移并进入相应系统调用的入口点。应用进程 coredump 也是一个类似的过程。
应用进程 core dump 生成过程
在进程运行出现异常行为时,例如无效地址访问、浮点异常、指令异常等,将导致系统转入内核态进行异常处理(即中断处理),向相应的进程发出特定信号例如 SIGSEGV、SIGFPE、SIGILL 等。如果应用进程注册了相应信号的处理函数(例如可通过 sigaction 注册信号处理函数),则调用相应处理函数进行处理(应用程序可以选择记录信息后生成 core dump 并退出);否则将采取默认动作,例如 SIGSEGV 的默认动作是生成 core dump 并退出程序。
进程 coredump 的时候,操作系统会将进程终止并释放其占用的资源,正常情况下,应用进程 coredump 不会对系统本身的运行造成危害。当然如果系统中存在与此进程相关的其他进程,则这些进程会受到影响,至于后果则视其对此异常的具体处理而定。
- ››AIX 下 FTP 服务配置方法
- ››CorelDRAW制作逼真铜质工号牌
- ››CorelDRAW教程:鱼眼工具运用制作精美图案
- ››CorelDRAW 12 与广告设计高级实战 37
- ››CorelDRAW 12 与广告设计高级实战 38
- ››CorelDRAW 12 与广告设计高级实战 39
- ››CorelDRAW 12 与广告设计高级实战 40
- ››CorelDRAW 12 与广告设计高级实战 41
- ››CorelDRAW 12 与广告设计高级实战 42
- ››CorelDRAW 12 与广告设计高级实战 43
- ››CorelDRAW 12 与广告设计高级实战 44
- ››CorelDRAW 12 与广告设计高级实战 45
更多精彩
赞助商链接