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

相关推荐
鲁邦通物联网8 小时前
充电站底层脱机DLB引擎解构:基于Linux调度的边缘计算网关并发控制实战
linux·运维·人工智能·边缘计算·边缘计算网关·5g数采·工业级边缘计算网关
Zhang~Ling8 小时前
Linux多线程互斥锁:从现象到原理解析
linux·运维·网络
ambition2024211 小时前
操作系统同步:读者-写者问题与读写公平法详解(附每个 PV 操作含义)
linux·开发语言·数据结构·unix
zmzmzmalo11 小时前
Linux ELF文件加载与内存管理揭秘
linux·网络·数据库
三言老师17 小时前
K8s集群运行时自动化运维全覆盖落地实操(下)
linux·运维·服务器·网络
ltl19 小时前
HAProxy HTX 与 HTTP 路径:内部表示、改写落点与协议分叉
linux
ltl19 小时前
可拆分 OS:CXL 内存池化如何动摇本地 DRAM 假设
linux
ltl19 小时前
Tetragon 强制执行:Override 与 SIGKILL 各自保证什么
linux
lengjingzju19 小时前
编译与调试完全指南—第6章 性能分析工具
linux
躺不平的理查德20 小时前
嵌入式 Linux 系统移植与 SD 卡量产镜像制作
linux·运维·服务器