coredump文件的生成以及如何调试coredump文件?
生成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 文件的具体实例
- 编写源码文件如下所示:
#include<stdio.h>
int main(){int* temp=NULL;*temp=10;return 0;}
- 编译生成可执行文件 :gcc -g test.c -o test
注: -g参数选项:在编译的时候,会生成调试信息,该程序可以被调试器调试。
正常发布环境中是不会带上调试信息的,会在编译的时候将-g选项去除,因为调试信息也会占用一定的内存空间。
Q1:那么如果在正常发布环境中产生了coredump文件,因为不带有调试信息,那么如何通过工具进行分析呢?
答:(这个问题在面试时遇到过)大致思路应该是,在debug版本有一个带调试信息的版本,两者相比较(待补充!!!)
- 执行 ./test 命令时,会产生coredump文件,如:core_test_12650
执行 gdb ./test core_test_12650命令,分析coredump文件
coredump文件的生成以及如何调试coredump文件?相关推荐
- Qt 杂记 —— Qt安装并配置调试文件,添加源码调试pdb文件
文章目录 Qt 杂记 -- Qt安装并配置调试文件,添加源码调试pdb文件 一.安装QT及QTCreator 二.在VS中使用QT 个人格言 Qt 杂记 -- Qt安装并配置调试文件,添加源码调试pd ...
- winmerge多个文件夹生成html,功能强大的文件、文件夹比对工具-WinMerge使用教程
您可能感兴趣的话题: WinMerge 核心提示:给大家介绍一款比对速度很快.比对功能相当强大的免费软件WinMerge,除了可以针对文件名称.文件内容与文件日期..等等细节来做比对之外,还可直接比对 ...
- vivado生成ltx文件命令_vivado 下板调试 BIT文件和LTX文件的区别
bit文件包含的内容是如何去配置FPGA里的资源来实现你的设计的逻辑,当然也包含debug core在里面 ltx文件是在hardware manager里面如果去显示debug core所连接的带观 ...
- Mybatis generator mapper文件重新生成不会覆盖原文件
转载自http://www.voidcn.com/article/p-wbxpqlmy-bon.html 问题: 使用标题所述的generator,在生成xxxMapper.xml文件后,再生成一次, ...
- coredump gdb 调试_Linux下如何使用gdb调试core文件
1.core文件 当程序运行过程中出现Segmentation fault (core dumped)错误时,程序停止运行,并产生core文件.core文件是程序运行状态的内存映象.使用gdb调试co ...
- coredump gdb 调试_gdb 调试coredump文件过程
gdb 调试coredump文件过程: 第一步:首先需要一个进程的coredump文件,怎么搞出coredump文件呢? 1. ps -fax|grep 进程名称 找到 ...
- Linux 下使用 gdb 调试 core 文件
1.core文件 当程序运行过程中出现段错误(Segmentation Fault),程序将停止运行,由操作系统把程序当前的内存状况存储在一个 core 文件中,即核心转储文件(Coredump Fi ...
- VS2015调试dump文件时提示未找到xxx.exe或xxx.dll
前言 游戏开发的过程中,经常会出现客户端宕机的问题,这时候一个小小的dump文件可以记录当时的内存及堆栈情况,对于解决崩溃的问题有巨大的帮助,之前用VS2008的时候调试过dump文件,但是最近客户端 ...
- ESP32 bin文件生成及多个bin文件合并指南
文章目录 1. 前言 2. 硬件及分区表 3. 编译 4. 烧录 4.1 使用 idf flash 命令烧录 4.2 使用 Flash Download Tools 工具烧录 4.3 Flash Do ...
最新文章
- CORS在Spring中的实现
- 解决流程自动化“最后一公里问题”,达观数据发布智能 RPA
- 微软BI 之SSIS 系列 - 利用 SSIS 模板快速开发 SSIS Package
- java属性编辑器,即PropertyEditor
- mysql dba系统学习(7)二进制日志binlog之三
- c语言之判断电压最大值最小值,基于单片机的频率计的C语言源代码
- 130个你需要了解的VIM命令
- 云卓遥控器+DIY高清摄像机的方案(完美接入原系统)
- 努力只是因为想去做想做的事
- 深入理解Dalvik字节码指令及Smali文件
- rails--bcrypt对密码加密
- 超全的 Python 可视化教程,收藏
- Halcon深度学习介绍(一)
- 服务器raid5数据恢复成功案例,磁盘阵列数据恢复方法
- iOS切换根控制器动画!
- qq空间留言板php,qq留言板留言关心的话 qq空间留言板签名档图片
- php 电子签字,电子签名和电子签字的区别
- 【装箱问题】基于Shuffled Complex Evolution (SCE) 算法解决装箱问题 (BPP)附matlab代码
- 风袖使用RocketMQ实现订单状态转变
- 如何防止手机网页双击屏幕实现放大效果
热门文章
- easypoi导出word表格
- 看完这篇文章,你还会问陈景润证明“1+2”有什么意义吗?
- 基于GIS的城市应急疏散方案的分析与研究
- linux命令sendmail,linux CentOS6的mail/sendmail命令发送电子邮件实现
- SA1服务器性能,腾讯云AMD云服务器标准型SA1和SA2有什么区别?该如何选择
- activiti——任务
- 托管和非托管_技术和托管新闻综述
- linux之根文件系统编译、烧写
- Hibernate --- count(*) 调用 uniqueResult() 的返回值类型,hql --- Long,sql --- BigDecimal
- 考研数据结构名词解释