qt程序在linux下生成core dump

linux系统支持生成core dump,设置系统就行,通过ulimit命令查看一下系统是否支持core dump 功能。

通过ulimit -c,可以查看core file大小的配置情况,如果为0,则表示系统关闭了core dump。
通过ulimit -c unlimited来打开。注意打开之后,只对当前shell进程有效

在根目录下新建目录CoreDumpFile,设置好权限,再在shell中输入下面的命令

echo "/CoreDumpFile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern 

core 文件即会存放到 /CoreDumpFile目录下,生成的文件名格式为: core- 命令名 -pid- 时间戳(没设置路径则在shell当前目录下)

在当前shell中运行程序,如果崩溃,则会生成core文件

 

注:上面的所有设置在关闭当前shell后就失效

可以用qtcreator、gdb调试core文件

qtcreator调试方式

1、Debug->Start Debugging->Load Core File
2、在弹出的窗口选择对应的文件

3、点击OK,开始调试,会看到code里的信息

 

 

 

 

直接使用gdb调试

# gdb 可执行文件 core文件
gdb ./binary_file_xxx xxx.core

# 输入bt可看到函数调用栈

  

  

PS:我找技术文章时,看到很多转载下面这篇文章的,我忍不住想吐槽,转载能带点脑子吗?这不是误人子弟吗?

 

posted @ 2022-08-19 18:06  出门必戴双肩包  阅读(1361)  评论(0编辑  收藏  举报