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

相关推荐
实心儿儿1 小时前
Linux —— 传输层协议TCP
linux·服务器·tcp/ip
祖力551 小时前
Linux应用软件编程:目录IO与framebuffer
linux·运维·算法·framebuffer·目录io
词却1 小时前
Linux基础:常用基本命令与软件包管理
linux
2401_890603402 小时前
Linux 进程控制
linux·运维·服务器
啦啦啦啦啦zzzz3 小时前
时间轮定时器
linux·服务器·网络·c++·定时器
神威难绷泪3 小时前
Linux应用软件编程:目录IO framebuffer
linux
byte轻骑兵3 小时前
【BlueZ 】BLE 与经典蓝牙的差异:BlueZ 中双模式的源码区分设计
linux·bluez·电脑蓝牙·嵌入式蓝牙
小雪崩4 小时前
嵌入式学习 day30:minilog
linux·c语言·学习
嵌入式小能手4 小时前
飞凌嵌入式ElfBoard-Shell脚本编写基础-传参-$0
linux
丰锋ff4 小时前
初识Linux操作系统
linux·运维·服务器