一、背景
在程序开发过程中经常会遇到程序崩溃、内核崩溃等现象,崩溃的原因无非就是内存泄露、内存溢出等导致程序操作了非法指针。当代码量不大、复现几率高的时候排查此类问题可以通过查阅代码、加调试信息等手段来定位问题。但是如果复现概率极低、代码量大,程序运行时依赖多个动态的库,程序strip后debug信息被移除等情况下,通过程序崩溃时产生的backtrack来回溯程序运行异常的状态是一种非常好的手段。
崩溃信息分两种:
- 内核崩溃信息
- 应用程序崩溃信息
内核crash时需要产生详细的backtrack信息,可以在编译内核内进行功能配置,使用kdump和产生的crash信息来分析问题。这里主要通过案例讲解通过应用程序的崩溃信息排查应用程序的bug,在分析coredump文件前,系统需要设置如下内容: 开启coredump、设置coredump文件名
