Coredump(tracedump)

引言当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中(core文件),这种行为就叫做CoreDump或者叫做‘核心转储’,利用coredump可以帮助我们快速定位程序崩溃位置开启coredump终端输入命令:ulimit-a用来显示对进程的一些限制限制,其中第一行表示了core文件最大的大小限制(单位为blocks)默认是…

大家好,又见面了,我是你们的朋友全栈君。

引言

当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中(core文件),这种行为就叫做 Core Dump 或者叫做 ‘核心转储’,利用 coredump 可以帮助我们快速定位程序崩溃位置

开启 coredump

终端输入命令:ulimit -a 用来显示对进程的一些限制限制,其中第一行表示了 core 文件最大的大小限制(单位为 blocks)默认是 0
在这里插入图片描述

开启核心转储
终端输入:ulimit -c unlimited 不对生成的核心转储文件进行大小限制也可以指定大小,ulimit -c 查看
在这里插入图片描述

gdb 调试 core 文件

准备:

#include <cstdio>

int test1(int a, int b) { 
   
    return a+b;
}
void test2() { 
   
    char* str = "hello~";
    str[0] = '0'; //段错误程序终止,生成core文件
}
void test3() { 
   
    printf("world~~\n");
}

int main() { 
   
    test1(1, 2);
    test2();
    test3();

    return 0;
}

./test 执行文件后 发生段错误程序终止,并且生成 core 文件
在这里插入图片描述
file core.22187 查看文件信息
在这里插入图片描述

gdb ./test core.22187 利用 gdb 进行 coredump 定位,可以看到程序终止是因为signal 11 并且段错误发生在第 15 行,因为 str[0] = ‘0’
在这里插入图片描述

开始调试:在 15 行发生段错误,信号 SIGSEGV 导致程序终止
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128540.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webapp开发框架[通俗易懂]

    webapp开发框架[通俗易懂]前言快速增长的APP应用软件市场,以及智能手机的普及,手机应用:Native(原生)APP快速占领了APP市场,成为了APP开发的主流,但其平台的不通用性,开发成本高,多版本开发等问题,一直困扰着专业APP开发企业,和APP服务提供商。安卓和IOS的操作方式,开发模式,界面UI显示方面的差别,也使得原生APP的不同版本体验有很大的区别,光是做兼容性调测,都要花费开发企业不少的时间。近年来,另一种应用形态——基于HTML5技术的WebApp也如雨后春笋般出现,于是关于原生APP与HTML5APP

    2022年4月19日
    99
  • openssl 创建 pfx 证书

    openssl 创建 pfx 证书环境:centos7.6,openssl1.02k-fips生成私钥[root@ansible002keyfile]#opensslgenrsa-outserver.key1024GeneratingRSAprivatekey,1024bitlongmodulus……++++++…++++++eis65537(0x10001)生成证书请求文件,需要填写信息,例如:cn/gd/zh/sourcecode/bdc/www.a.com[root@

    2022年5月2日
    43
  • sql2012安装错误代码0x84b10001_sql server 安装程序遇到以下错误

    sql2012安装错误代码0x84b10001_sql server 安装程序遇到以下错误followthebelowsteps: InWindows®Explorer,browsetothefollowingpath:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config ImportantNote:Makeacopyofthemachine.c…

    2022年9月11日
    0
  • 刀塔霸业未能连接到服务器,刀塔霸业进不去怎么解决 进不去解决方法详解[多图]…

    刀塔霸业未能连接到服务器,刀塔霸业进不去怎么解决 进不去解决方法详解[多图]…刀塔霸业有很多玩家爱下好游戏之后却进不去,不知道什么原因,下面安族小编带大家来看一下进不去解决方法详解,相信对大家会有帮助。刀塔霸业玩不了解决办法1、游戏需要的手机配置iOS系统需要至少1.5内存,因此iPhone6/6PLUS无法运行,需要更新的机型才可以安卓版的话,目前由于安卓适配原因,运行效果都比较差,骁龙835处理器以下的用户可能运行情况不好,这个可以等待后续官方的优化。2、已发生错误I…

    2022年5月17日
    48
  • TextCNN(文本分类)

    TextCNN(文本分类)TextCNN网络结构如图所示:利用TextCNN做文本分类基本流程(以句子分类为例):(1)将句子转成词,利用词建立字典(2)词转成向量(word2vec,Glove,bert,nn.embedding)(3)句子补0操作变成等长(4)建TextCNN模型,训练,测试TextCNN按照流程的一个例子。1,预测结果不是很好,句子太少2,没有用到复杂的word…

    2022年6月28日
    20
  • 2017美赛A题论文阅读笔记

    2017美赛A题论文阅读笔记2017美赛O奖论文阅读笔记

    2022年5月27日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号