Linux程序崩溃调试

一、简单点的

编译时主动带-g,生成的程序带调试信息,而且开启生成dump文件,这时候可以使用core dump来调试程序,定位问题。可以参考:linux 程序crash 调试、原因分析及问题定位-CSDN博客

二、稍微复杂点

假设生成的可执行文件带了调试信息,那么可以考虑用gdb来调试程序,调试的教程如下:gdb调试

三、再复杂点:如果core dump文件的堆栈信息被破坏了,又该如何定位问题呢?

参考下面博文,借助栈帧信息和寄存器信息来使用gdb-x命令排查问题

四、定位排查问题实战:没有core文件时定位segfault at 0 ip (null) 的问题

上连接:没有core文件时定位段错误问题

五、崩溃时要是没有core dump文件生成,那又该如何排查问题?

借助内核的segfault日志来定位问题:内核segfault定位程序崩溃

写在最后:

coredump文件是如何生成的?

相关推荐
czxyvX6 小时前
007-Linux进程概念及周边知识
linux
Eternity∞7 小时前
Linux系统下,C语言基础
linux·c语言·开发语言
feng68_7 小时前
HAProxy算法实践
linux·运维·haproxy
吹牛不交税9 小时前
在vmware中右键SSH连接虚拟机报错Could not resolve hostname
linux·服务器·ssh
鱼香rose__10 小时前
DOMjudge搭建记录
linux
坂田民工13 小时前
RK3566 AB升级功能
linux·rk3566·buildroot·ab升级
SakitamaX13 小时前
LVS(Linux virual server)介绍与实验
linux·运维·lvs
小义_13 小时前
【Docker】知识八
linux·docker·云原生
开开心心_Every14 小时前
CDR版本转换工具,支持多版本互转免升级软件
linux·运维·服务器·云原生·edge·pdf·serverless
czxyvX14 小时前
009-Linux程序地址空间
linux