1.首先是在cmakelist中加入add_definitions("-Wall -g"),或者g++ -g main.cpp .
2.打开ulimit -c 查看允许生成文件大小,如果显示0,则使用ulimit -c unlimited修改限制。
注意:这个修改仅限于该terminal。关掉后就没有,要永久设置,可以百度。
3.出现core dumped后,会在可执行文件同目录生产一个core文件,也有设置core路径和文件名的方法,需要百度。我这边简单运行了一下有150M。
注意:按照1和2运行后,开始并没有生成core文件。我是通过sudo service apport stop 后可以生成的。
4.生成core文件后,如下命令:gdb ./xx core .其中xx代表可执行文件,core代表生成的文件。
本文介绍了如何通过配置CMakeLists或直接使用g++命令来开启调试信息,调整ulimit以解除核心转储文件大小限制,并利用apport服务生成core文件进行故障诊断。还提供了使用gdb读取core文件的方法。
1万+

被折叠的 条评论
为什么被折叠?



