生成coredump文件的相关配置

1. 首先通过 ulimit -a 命令,查看是否允许coredump文件生成;
如下图所示,core文件大小限制为0,即:不允许core文件生成

2. 使用 ulimit -c [kbytes] 命令更改core文件大小的限制 或者 通过 ulimit -c unlimited 命令不限制core文件大小
通过这种方式进行修改不能永久生效,可以通过 vim /etc/profile 在profile文件中加入: ulimit -c unlimited,然后 执行source /etc/profile 命令使得profile文件生效;

3. 指定core文件生成的路径
执行 vim /etc/sysctl.conf
添加两行:
kernel.core_pattern=. /core_%e_%p
kernel.core_uses_pid=0

使用 sysctl –p /etc/sysctl.conf 使得修改后的文件立即生效

其中:kernel.core_pattern为生成coredump文件的具体路径以及coredump文件的命名格式,具体参数含义如下:

%e : dump的文件名
%p : dump的进程PID
%s : 导致本次coredump的信号



coredump 文件的具体实例

  1. 编写源码文件如下所示:
#include<stdio.h>
int main(){int* temp=NULL;*temp=10;return 0;}
  1. 编译生成可执行文件 :gcc -g test.c -o test
    注: -g参数选项:在编译的时候,会生成调试信息,该程序可以被调试器调试。
    正常发布环境中是不会带上调试信息的,会在编译的时候将-g选项去除,因为调试信息也会占用一定的内存空间。

Q1:那么如果在正常发布环境中产生了coredump文件,因为不带有调试信息,那么如何通过工具进行分析呢?
答:(这个问题在面试时遇到过)大致思路应该是,在debug版本有一个带调试信息的版本,两者相比较(待补充!!!)

  1. 执行 ./test 命令时,会产生coredump文件,如:core_test_12650
    执行 gdb ./test core_test_12650命令,分析coredump文件

coredump文件的生成以及如何调试coredump文件?相关推荐

  1. Qt 杂记 —— Qt安装并配置调试文件,添加源码调试pdb文件

    文章目录 Qt 杂记 -- Qt安装并配置调试文件,添加源码调试pdb文件 一.安装QT及QTCreator 二.在VS中使用QT 个人格言 Qt 杂记 -- Qt安装并配置调试文件,添加源码调试pd ...

  2. winmerge多个文件夹生成html,功能强大的文件、文件夹比对工具-WinMerge使用教程

    您可能感兴趣的话题: WinMerge 核心提示:给大家介绍一款比对速度很快.比对功能相当强大的免费软件WinMerge,除了可以针对文件名称.文件内容与文件日期..等等细节来做比对之外,还可直接比对 ...

  3. vivado生成ltx文件命令_vivado 下板调试 BIT文件和LTX文件的区别

    bit文件包含的内容是如何去配置FPGA里的资源来实现你的设计的逻辑,当然也包含debug core在里面 ltx文件是在hardware manager里面如果去显示debug core所连接的带观 ...

  4. Mybatis generator mapper文件重新生成不会覆盖原文件

    转载自http://www.voidcn.com/article/p-wbxpqlmy-bon.html 问题: 使用标题所述的generator,在生成xxxMapper.xml文件后,再生成一次, ...

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

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

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

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

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

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

  8. VS2015调试dump文件时提示未找到xxx.exe或xxx.dll

    前言 游戏开发的过程中,经常会出现客户端宕机的问题,这时候一个小小的dump文件可以记录当时的内存及堆栈情况,对于解决崩溃的问题有巨大的帮助,之前用VS2008的时候调试过dump文件,但是最近客户端 ...

  9. ESP32 bin文件生成及多个bin文件合并指南

    文章目录 1. 前言 2. 硬件及分区表 3. 编译 4. 烧录 4.1 使用 idf flash 命令烧录 4.2 使用 Flash Download Tools 工具烧录 4.3 Flash Do ...

最新文章

  1. CORS在Spring中的实现
  2. 解决流程自动化“最后一公里问题”,达观数据发布智能 RPA
  3. 微软BI 之SSIS 系列 - 利用 SSIS 模板快速开发 SSIS Package
  4. java属性编辑器,即PropertyEditor
  5. mysql dba系统学习(7)二进制日志binlog之三
  6. c语言之判断电压最大值最小值,基于单片机的频率计的C语言源代码
  7. 130个你需要了解的VIM命令
  8. 云卓遥控器+DIY高清摄像机的方案(完美接入原系统)
  9. 努力只是因为想去做想做的事
  10. 深入理解Dalvik字节码指令及Smali文件
  11. rails--bcrypt对密码加密
  12. 超全的 Python 可视化教程,收藏
  13. Halcon深度学习介绍(一)
  14. 服务器raid5数据恢复成功案例,磁盘阵列数据恢复方法
  15. iOS切换根控制器动画!
  16. qq空间留言板php,qq留言板留言关心的话 qq空间留言板签名档图片
  17. php 电子签字,电子签名和电子签字的区别
  18. 【装箱问题】基于Shuffled Complex Evolution (SCE) 算法解决装箱问题 (BPP)附matlab代码
  19. 风袖使用RocketMQ实现订单状态转变
  20. 如何防止手机网页双击屏幕实现放大效果

热门文章

  1. easypoi导出word表格
  2. 看完这篇文章,你还会问陈景润证明“1+2”有什么意义吗?
  3. 基于GIS的城市应急疏散方案的分析与研究
  4. linux命令sendmail,linux CentOS6的mail/sendmail命令发送电子邮件实现
  5. SA1服务器性能,腾讯云AMD云服务器标准型SA1和SA2有什么区别?该如何选择
  6. activiti——任务
  7. 托管和非托管_技术和托管新闻综述
  8. linux之根文件系统编译、烧写
  9. Hibernate --- count(*) 调用 uniqueResult() 的返回值类型,hql --- Long,sql --- BigDecimal
  10. 考研数据结构名词解释