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

相关推荐
xatu28 分钟前
ubuntu容器在redhat系统下使用大模型API问题
linux·运维·ubuntu
水饺编程2 小时前
第2章:Linux 基础,rm 命令
linux·c语言·汇编
雪落漂泊2 小时前
Linux基础开发工具(三)gcc/g++与make/makefile篇
linux·运维·服务器
爱吃辣椒的小豆豆2 小时前
Linux-sshd-实战-白名单与跳板机
linux·运维·服务器
气质、小青年!2 小时前
进程1学习
linux·学习
blueSatchel2 小时前
framebuffer注册源码解读
linux·嵌入式
2401_862880823 小时前
嵌入式Linux系统移植与驱动开发完整指南
linux·c语言·驱动开发
坤坤子吖3 小时前
Linux 线程同步与互斥——互斥锁
linux·服务器·c++·笔记·学习
TDTC_XQ3 小时前
Linux网络编程accept的讲解
linux·服务器·c++
Python自动化直播3 小时前
自动化笔记:素材管理、命名、轮换的几条土办法
linux·运维·数据库