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

相关推荐
小马学嵌入式~18 分钟前
linux开发深度学习-时钟
linux·arm开发·嵌入式硬件·学习
青瓦梦滋22 分钟前
Linux进程间通信(IPC)——system V
linux·服务器·c++·文件
人生苦短,菜的抠脚32 分钟前
RK628 Linux 内核驱动开发指南
linux·驱动开发
代码AC不AC35 分钟前
【Linux】命名管道
linux·命名管道
陌上花开缓缓归以37 分钟前
linux boot 烧写纪要以及内存相关分析
linux·服务器·网络
yy_xzz40 分钟前
【Linux开发】 04 Linux UDP 网络编程
linux·网络·udp
123过去44 分钟前
mdb-sql使用教程
linux·网络·数据库·sql
hweiyu001 小时前
Linux命令:pgrep
linux·运维·服务器
文人sec2 小时前
【Linux 服务器上搭建 JMeter 性能测试与监控环境(实战版)】
linux·运维·服务器·jmeter·性能测试
papaofdoudou2 小时前
Linux内核的边界在哪里?
linux·运维·服务器