背景
- 在ubuntu 14.04系统中临时编译了LaneViewer(项目中基于QGLViewer编写的一个GUI界面),但在ubuntu 14.04系统中无法正常运行,启动后闪退,想到了使用
core dump
文件进行调试,定位问题所在; - 项目中所负责的某模块在iECU中运行时会出现
defunct
(挂掉)问题,想到了使用core dump
文件进行调试,定位问题所在。
解决
- 临时开启
core dump
,取消core文件大小限制(仅对当前终端有效)1
ulimit -c unlimited
- 运行目标程序,若非正常退出,会在程序所在目录下生成对应core文件
- 使用
gdb
调试core文件1
gdb ./LaneViewer core
- 进入
gdb
调试界面后,输入r
并回车,可使程序运行至断点位置,输入bt
并回车,可显示程序运行时的调用堆栈,bt
代表backtrace
。
参考
- 利用Core Dump调试程序