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文件是如何生成的?

相关推荐
嵌入小生0077 分钟前
ARM --- 基础知识汇总
linux·嵌入式·arm·指令集
IMPYLH13 分钟前
Linux 的 du 命令
linux·运维·服务器
!chen1 小时前
[Linux][虚拟串口]0x03一个特殊的字节
linux·运维·服务器
林姜泽樾1 小时前
Linux入门第十七章,systemctl软件启动和软连接
linux·运维·服务器·centos
济6171 小时前
ARM Linux 驱动开发篇--- Linux 并发与竞争实验(自旋锁实现 LED 设备互斥访问)--- Ubuntu20.04自旋锁实验
linux·嵌入式·嵌入式linux驱动开发
艾莉丝努力练剑1 小时前
alarm系统调用的一次性原理揭秘
linux·运维·服务器·开发语言·网络·人工智能·学习
zly35002 小时前
只能同网段ping通,route add命令添加默认路由
linux·运维·服务器
isyangli_blog2 小时前
制作Linux Centos8 模板
linux·运维·服务器
A.A呐3 小时前
【Linux第十八章】线程
linux
fresh hacker3 小时前
【Linux系统】通用的“系统排障”
linux·运维·服务器·网络·php