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

相关推荐
遇见火星2 小时前
Ubuntu Docker 容器化部署教程
linux·ubuntu·docker
ybb_ymm4 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
半梦半醒*4 小时前
zabbix安装
linux·运维·前端·网络·zabbix
武文斌777 小时前
复习总结最终版:单片机
linux·单片机·嵌入式硬件·学习
驱动探索者7 小时前
贝尔实验室发展史:20世纪科技圣殿的辉煌与沉浮
linux
何朴尧7 小时前
centos/cuos如何开启软件源
linux·运维·centos
YouEmbedded7 小时前
解码Linux文件IO之标准IO
linux·文件io·系统io
撬动未来的支点8 小时前
【Linux内核】Linux内核裁剪完全指南:从理论到实战的系统优化
linux
csdn_Hzx8 小时前
Linux添加一个系统服务
linux·运维·服务器
洛克大航海8 小时前
Ubuntu安装Hbase
大数据·linux·数据库·ubuntu·hbase