相信大家都有过在linux 下变成出现core dump或者Segment fault的情况,有的时候这种崩溃情况不一定每次都出现,复现有一定的难度,那样我们可以查看的就只有coredump文件了。

接下来要说的就是如何设置coredump以及调试corddump文件。

一般情况下,linux(目前我用的是centos 6.7)默认是不开启coredump的。

[root@localhost test]# ulimit -c(出现为0的话就代表coredump的文件缓存为0,这样的话就不会出现coredump文件)
0

我们可以执行ulimit -c unlimited来完成(我们可以手动设置为无限制)

[root@localhost test]# ulimit -c unlimited
[root@localhost test]# ulimit -c
unlimited

这样的话当我们的程序运行初选崩溃段错误的时候就会在同级目录生成一个core.xxxx的文件。这个就是我们可以调试的文件啦。

接下来我们还可以设置文件的名字属性,不然的话很多个进程一起调试的话会崩溃掉的,傻傻分不清楚啊。

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

将会控制所产生的core文件会存放到/var/core目录下,产生的文件名为core-命令名-pid-时间戳

以下是参数列表:

%p - insert pid into filename 添加pid

%u - insert current uid into filename 添加当前uid

%g - insert current gid into filename 添加当前gid

%s - insert signal that caused the coredump into the filename 添加导致产生core的信号

%t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间

%h - insert hostname where the coredump happened into filename 添加主机名

%e - insert coredumping executable name into filename 添加命令名

这样设置的话就差不多啦,至少我就这么用了。

最后的话大家编译的时候记得加-g调试信息,关于怎么调试coredump的话 ,我相信比较简单,就是gdb core.xxx,然后把你的可执行程序加载进来(file xxx), 接下来所有的信息都可以看到啦,具体的GDB调试的话,我这里就不详细说明了。

Linux 下的Core Dump相关推荐

  1. linux下调试core dump方式汇总,工作必备技能

    缘起 调试,是开发流程中一个非常重要的环节.每个程序员都应,具备调试代码的能力,尤其对于从事 Linux 下的开发的读者. 从事 linux 下后台开发,有时候会遇到程序突然崩溃的情况,也没有任何日志 ...

  2. linux系统core dump设置,Linux 下生成 core dump 配置和用法

    1. 启用 Core dump,系统默认关闭 Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试. 用到的命令是: ulimit // 输入目录查看状态, 0 说 ...

  3. linux中dump文件怎么生成,linux下设置core dump文件生成的方法

    /proc/sys/kernel/core_uses_pid可以控制core文件的文件名中是否添加pid作为扩展.文件内容为1,表示添加pid作为扩展名, 生成的core文件格式为      core ...

  4. Linux下程序崩溃dump时的 core文件的使用方法

    Linux下程序崩溃dump时的 core文件的使用方法 1.在启动程序前执行 ulimit -c unlimited unlimited 表示生成文件的大小限制,也可以修改为自定义的大小,例如: u ...

  5. 什么是core dump linux下用core和gdb查询出现段错误的地方

    什么是core dump   linux下用core和gdb查询出现"段错误"的地方 http://blog.chinaunix.net/uid-26833883-id-31932 ...

  6. oracle dump 源码,AIX 下的 core dump 分析入门

    AIX 下的 core dump 分析入门 (), 工程师, IBM 作者毕业于中国科学技术大学,目前任职于 IBM,主要方向为 AIX 平台移植.性能优化.问题定位等. 简介: 本文简要介绍了 AI ...

  7. linux下用core和gdb查询出现段错误的地方

    有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"段错误". 呵呵,这种问题我想很多人会经常遇到.遇到这种问题是非常无语的,只是提示了&qu ...

  8. linux基于此语言的密码,一次有趣的Linux下.Net Core与C语言的合作开发体验:生成Linux标准的用户密码串...

    最近在项目进程中遇上了Linux用户验证的问题,想着怎么样通过Linux本地用户进行安全校验,于是去查了些资料. Linux的密码存储 查阅资料后发现早期的Linux存储在/etc/password文 ...

  9. Linux 下打core并调试core

          我们在Linux下工作时,经常会挺别人说程序崩溃了,会打出一个 core 文件在当前目录下,那个是怎么做到的呢? 首先,我们需要看看自己的系统有没有开启 core 的开关,如果没有,我们需 ...

最新文章

  1. 快速生成解决方案 ctrl + shilf + b
  2. oracle供应商导入,AP供应商导入简例.pdf
  3. 2015第29周五AOP
  4. ubuntu下python thrift安装
  5. mingw+libpython安装记录
  6. Develop内部函数,持续更新
  7. java native关键字(java本地方法)
  8. android 回退函数,详解React Native监听Android回退按键与程序化退出应用
  9. 【ElasticSearch】es 使用function_score及soft_score定制搜索结果的分数
  10. stream 多个字段分组_Python Pandas对Excel数据的分组聚合和数据透视
  11. swiper在微信端滑动效果不友好(滑动不了)的解决方案
  12. Java 将鼠标改为图片的两种方法
  13. 毕设题目:Matlab优化调度
  14. iir 滤波器 结构介绍
  15. JAVA相关基础知识
  16. 小红书流量高峰时间段是什么时候?早上发笔记好还是晚上好
  17. 英文文献 ---英语词汇整理
  18. Facebook MySQL工程师吐槽MemSQL:MySQL比你们快无数倍
  19. 自动化测试框架结构图
  20. 富士康Java开发面试题目

热门文章

  1. linux杀死进程删除文件,linux 常用到的命令 删除 移动 复制 查询端口 杀死进程 查询进程...
  2. python保存rtmp流_ffmpeg 推送、保存rtmp 流命令
  3. OpenCV中Canny边缘检测
  4. 2019文献汇总 | 单细胞与病毒感染
  5. AE调整形状图层大小插件 BorderPatrol for mac
  6. 信息检索 python_python-工程数据结构/信息检索和存储
  7. 1.7 编程基础之字符串 31 字符串p型编码 python
  8. python内置方法怎么使用_python中的常用内置方法
  9. Node.js笔记-使用socket.io构建websocket聊天室
  10. Python笔记-使用sqlalchemy根据类创建数据库表