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

相关推荐
郝学胜-神的一滴4 小时前
CMake 038:OBJECT目标复用编译+Linux动态库版本自动化管理
linux·c++·程序人生·软件工程·软件构建·cmake·工程配置
单位圆的日常5 小时前
FRP反向隧道实现异地SSH家用Linux
linux·运维·ssh·frp
小比特_蓝光5 小时前
匿名管道+进程池
linux
BS_Li5 小时前
【Linux网络编程】NAT、代理服务、内网穿透
linux·网络·智能路由器
用户029266661337 小时前
Linux 用户管理知识与应用实践(三:用户组及修改用户密码)
linux
Mortalbreeze7 小时前
深入 Linux 线程机制(三):线程互斥——竞争条件与互斥锁的本质
linux·运维·服务器·c++·算法
鱼听禅8 小时前
CentOS 源码模式配置SVNAdmin2管理SVN仓库
linux·svn·centos
Amonter8 小时前
RK3399ProD移植主线Linux内核
linux·rockchip·rk3399pro
从零开始的代码生活_8 小时前
Linux select 多路转接详解
linux·运维·服务器·网络·网络协议·tcp/ip·计算机网络
say_fall8 小时前
【Git 精品详解】企业规范:企业级开发模型、Git Flow、发版流程规范、Code Owner 制度、事故应急回滚
大数据·linux·服务器·git·学习·elasticsearch