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

相关推荐
Sumlll_1 小时前
Ubuntu系统下QEMU的安装与RISC-V的测试
linux·ubuntu·risc-v
猫头虎1 小时前
2025最新OpenEuler系统安装MySQL的详细教程
linux·服务器·数据库·sql·mysql·macos·openeuler
晚风吹人醒.3 小时前
SSH远程管理及访问控制
linux·运维·ssh·scp·xshell·访问控制·远程管理
Uncertainty!!4 小时前
Linux多用户情况下个别用户输入密码后黑屏
linux·远程连接
necessary6534 小时前
使用Clion查看linux环境中的PG源码
linux·运维·服务器
小猪佩奇TONY6 小时前
Linux 内核学习(14) --- linux x86-32 虚拟地址空间
linux·学习
Lam㊣6 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
FL16238631296 小时前
win11+WSL+Ubuntu-xrdp+远程桌面闪退+黑屏闪退解决
linux·运维·ubuntu
石头5306 小时前
Kubernetes监控全栈解决方案:从零搭建Prometheus+Grafana监控体系
linux
ha20428941946 小时前
Linux操作系统学习记录之---TcpSocket
linux·网络·c++·学习