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

相关推荐
xuhe2几秒前
一劳永逸!解决 AutoDL 系统盘(30GB)爆满与 pip 缓存迁移
linux·python·ai·jupyter
学无止境_永不停歇35 分钟前
9. 缓冲区
linux·服务器·c++
dok1239 分钟前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》(4) devicefile 设备号相关
linux·运维·服务器
Fu2067211 小时前
结课项目考试
linux·运维·服务器
Albert·Lin1 小时前
LVS相关知识点总结-一
linux·服务器·lvs
tianyuanwo3 小时前
深入理解 Linux 启动救援模式与控制台选择:从 x86 的 tty0 到 ARM 的 ttyS0
linux·grub·救援系统
瞬间&永恒~3 小时前
【MySQL】练习5-1:配置慢查询日志
linux·运维·云原生
邪修king4 小时前
Re:Linux系统篇(四):权限Chapter--用户身份、权限位与目录权限三大核心问题
linux·运维·服务器
buhuizhiyuci4 小时前
【Linux 篇】数字世界的通信管道 —— 匿名管道与进程池深度实战解析
linux·运维·服务器
道尔柯南4 小时前
【Linux】基础开发工具Vim
linux·运维·vim