gdb 调试coredump文件过程:

第一步:首先需要一个进程的coredump文件,怎么搞出coredump文件呢?

1、 ps -fax|grep                 进程名称 找到进程的pid

2、gdb -p pid                     调试进程

3、gcore coredump名称        则生成core文件

第二步:找出coredump文件的应用程序

1、gdb -c corefile   使用gdb调试core文件

2、info auxv          索引31对应的是core文件的应用程序

第三部:gdb使用应用程序调试coredump文件

gdb  coredump应用程序  coredump文件     调试coredump文件 

 

通过以上三步就可以调试coredump文件了

通过以下命令调试coredump文件

info threads 显示所有线程

bt 显示线程堆栈信息

thread thread_num   切换线程

frame num  切换栈

info r 显示当前帧的寄存器信息 (每一帧的寄存器信息都是不相同的)

 

readelf应用coredump

readelf -h 读取coredump文件头

readelf -wl 读取应用程序debug_line

readelf -wf 读取应用程序fde和cie信息

1、 ps -fax|grep                 进程名称 找到进程的pid

2、gdb -p pid                     调试进程

3、gcore coredump名称        则生成core文件

第二步:找出coredump文件的应用程序

1、gdb -c corefile   使用gdb调试core文件

2、info auxv          索引31对应的是core文件的应用程序

第三部:gdb使用应用程序调试coredump文件

gdb  coredump应用程序  coredump文件     调试coredump文件 

 

通过以上三步就可以调试coredump文件了

通过以下命令调试coredump文件

info threads 显示所有线程

bt 显示线程堆栈信息

thread thread_num   切换线程

frame num  切换栈

info r 显示当前帧的寄存器信息 (每一帧的寄存器信息都是不相同的)

 

readelf应用coredump

readelf -h 读取coredump文件头

readelf -wl 读取应用程序debug_line

readelf -wf 读取应用程序fde和cie信息

猜你喜欢

转载自www.cnblogs.com/wxmdevelop/p/9236663.html