linux上程序崩溃起来挺烦人,不过linux 比较好的是有gdb.

1、生成coredump文件

echo "ulimit -c unlimited" >> /etc/profile

然后记得敲入命令

source /etc/profile

或者单次的设置

ulimit -c unlimited

然后敲入命令:

ulimit –c

效果如下:

确认能否生成coredump文件,使用如下命令(使用时注意,我在测的时候会直接退出当前用户)

kill -s SIGSEGV $$

然后回到执行上述命令的路径下即可看到coredump文件,我这边生成的文件名为core.3477,依个人会随机生成不同的数字。

也可能文件名为core,

2、调试coredump文件

调试方式为: gdb program coredump文件

例如我的可执行文件为test, 生成的coredump文件为core.3533,则命令如下:

gdb test core.3533

显示如下图所示:

嗯,有的人运气好,直接就显示源代码了,如果你像我一样,接着用下面的命令

backtrace

打印堆栈信息。

我们看到最接近崩溃的地方在第8行

然后调用命令

frame 8

直接找到源代码的位置:

gdb调试coredump文件 - 绿色的麦田 - 博客园

一些语法

[C/C++]gdb结合coredump定位崩溃进程_老徐_新浪博客

linux 程序崩溃 gdb调试coredump文件相关推荐

  1. GDB调试CoreDump文件

    GDB调试CoreDump文件 Author:onceday date:2022年8月1日 1.引言 当进程收到某些信号时,默认的信号处理函数在终止进程之前会对进程的内存映像进行存储,形成当前时刻的& ...

  2. Linux 下使用 gdb 调试 core 文件

    1.core文件 当程序运行过程中出现段错误(Segmentation Fault),程序将停止运行,由操作系统把程序当前的内存状况存储在一个 core 文件中,即核心转储文件(Coredump Fi ...

  3. coredump gdb 调试_gdb 调试coredump文件过程

    gdb 调试coredump文件过程: 第一步:首先需要一个进程的coredump文件,怎么搞出coredump文件呢? 1. ps -fax|grep                 进程名称 找到 ...

  4. Linux调试——gdb调试器的简单使用调试coredump文件

    文章目录 一.背景 二.gdb的指令与使用 1.gdb的基本指令. 2.gdb指令的简单使用 1.进入gdb模式 2.实例说明 三.调试coredump文件 前提:本质上是在调试程序崩溃之后的内存镜像 ...

  5. coredump gdb 调试_Linux下如何使用gdb调试core文件

    1.core文件 当程序运行过程中出现Segmentation fault (core dumped)错误时,程序停止运行,并产生core文件.core文件是程序运行状态的内存映象.使用gdb调试co ...

  6. 解决gdb 调试 core 文件函数名显示为问号的问题

    关于gdb调试core文件总是一堆问号的问题 问题描述:已经在编译选项中加入了-g,但是查看core文件时,还是一堆问号,使用的命令为:gdb -c core 解决方案:由于gdb -c core这样 ...

  7. 自定义VS程序异常处理及调试Dump文件(一)

    1. Dump文件 1. Dump文件介绍 Dump文件(Dump File),也叫转储文件,以.DMP为文件后缀.dump文件是进程在内存中的镜像文件,通过转换然后存储成以.DMP后缀的文件.dum ...

  8. linux下使用gdb调试崩溃和死锁实例

    gdb是linux下一款功能强大的调试工具,windows下对应的有windbg,下面举例说明常见程序错误解决方法 1.gdb启动 要想使用gdb调试,编译时指定-g选项加入调试信息,gdb可以启动执 ...

  9. Linux C/C++程序崩溃bug调试方法

    C,C++程序最常见的崩溃问题就是内存问题,内存越界,访问空指针,野指针等都会造成程序崩溃.Linux系统中当程序运行过程中出现非法操作,系统会先发送对应的错误信号,每种错误信号都有默认的处理方式,比 ...

  10. 【Linux】24.gdb调试和coredump

    gdb调试和coredump 下面一行命令是用来gdb调试的一种方式 gdb --args binary_node --flagfile=conf/21.conf 下面一行命令是利用coredump文 ...

最新文章

  1. 后门技术(HOOK篇)之DT_RPATH
  2. SpringMVC:学习笔记(4)——处理模型数据
  3. 跳跃问题(Java)
  4. LeetCode 337. 打家劫舍 III(记忆化+递归)
  5. Elementui 自定义loading
  6. STL 容器和迭代器连载8_访问顺序容器的元素
  7. r语言 读取dta_R语言与计量经济学(三)异方差
  8. (42)FPGA状态机二段式
  9. ulimit限制 新系统_遇到一个很奇怪的问题,ulimit设置问题
  10. VS2008超有用的快捷键
  11. bootstrape常用标签_bootstrap 常用data
  12. 基于Java+Springmvc+vue+element实现大学生科技创新创业项目管理系统
  13. python求圆锥体的表面积公式_圆锥表面积公式推导-圆锥表面积的计算公式
  14. 【微信小程序】小程序调起付款码
  15. css04 float
  16. svn执行update操作后出现:Error : Previous operation has not finished; run 'cleanup' if it was interrupted.
  17. 2023 新版帝国内核试玩佣金网站系统源码
  18. 如何从访客属性分析网站用户群
  19. openstack 网络详解(Essex版)
  20. package.json 封装 vue模块_vue仿小米商城 -- 我知道的都在这里了

热门文章

  1. Java JSON中无分隔符日期字符串处理
  2. 使用安卓的http进行数据的发送需要做的首先就是授权
  3. OpenShift免费空间绑定顶级域名(图文教程)
  4. Archlinux GRUB2 配置
  5. jackson json的使用
  6. 偷懒才能编程序——计算机达人成长之路(18)
  7. [翻译] REST API必须是超文本驱动的
  8. 为什么象网络蚂蚁这样的多线程程序可以加快下载速度?
  9. shell命令技巧——文本去重并保持原有顺序
  10. 【codeforce 219D】 Choosing Capital for Treeland (树形DP)