什么是Core Dump?
 
 
今天调试一个程序, 用到了core dump, 于是写出来, 记于此.
什么是Core Dump?
Core的意思是内存, Dump的意思是扔出来, 堆出来.
开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统把程序down掉时的内存内容扔出来生成的, 它可以做为调试程序的参考.
core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump.

如何使用core文件?
gdb -c core文件路径 [应用程序的路径]
进去后输入where回车, 就可以显示程序在哪一行当掉的, 在哪个函数中.

为什么没有core文件生成呢?
有时候程序down了, 但是core文件却没有生成. core文件的生成跟你当前系统的环境设置有关系, 可以用下面的语句设置一下, 然后再运行程序便成生成core文件.
ulimit -c unlimited
core文件生成的位置一般于运行程序的路径相同, 文件名一般为core.进程号

4. 用gdb查看core文件:
下面我们可以在发生运行时信号引起的错误时发生core dump了.
发生core dump之后, 用gdb进行查看core文件的内容, 以定位文件中引发core dump的行.
gdb [exec file] [core file]
如:
gdb ./test test.core
在进入gdb后, 用bt命令查看backtrace以检查发生程序运行到哪里, 来定位core dump的文件->行.

引用:http://blog.chinaunix.net/u/16292/showart_1844400.html

什么是Core Dump?相关推荐

  1. 通过gdb core dump方法查看程序异常时的堆栈信息

    在Linux下可通过core文件来获取当程序异常退出(如异常信号SIGSEGV, SIGABRT等)时的堆栈信息.core dump叫做核心转储,当程序运行过程中发生异常的那一刻的一个内存快照,操作系 ...

  2. Linux上Core Dump文件的形成和分析

    Core,又称之为Core Dump文件,是Unix/Linux操作系统的一种机制,对于线上服务而言,Core令人闻之色变,因为出Core的过程意味着服务暂时不能正常响应,需要恢复,并且随着吐Core ...

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

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

  4. 网元查看一个无厘头的core dump问题定位

    查了好多资料,发明还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 明天收到试测部门提的一个bug,bug的容内如下: 每日一道理 爱心是一片照射在冬日的阳光, ...

  5. linux系统core dump设置,linux coredump设置

    1. core 在Linux下程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息,编译时需要加上 -g -Wall). 使用gdb来查看core文件,可以指 ...

  6. Linux下如何生成core dump 文件(解决segment fault段错误的问题)

    Linux下如何生成core dump 文件(解决segment fault段错误的问题) 参考文章: (1)Linux下如何生成core dump 文件(解决segment fault段错误的问题) ...

  7. 学会用core dump调试程序错误(转)

    前言 最近在项目中遇到大型程序出现SIGSEGV ,一直不知道用core dump工具来调试程序,花了近一周的时间,才定位问题,老大很生气,后果很严重,呵呵,事后仔细学习了这块的知识,了解一点core ...

  8. Linux core dump的详细介绍及使用

    我们在开发(或使用)一个程序时,最怕的就是程序莫明其妙地当掉.虽然系 统没事,但我们下次仍可能遇到相同的问题.于是这时操作系统就会把程序当掉 时的内存内容 dump 出来,让我们或是debugger ...

  9. Linux Core Dump

     1. 前言: 有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们 ...

  10. 【转】造成segment fault,产生core dump的可能原因

    2019独角兽企业重金招聘Python工程师标准>>> 1.内存访问越界 a) 由于使用错误的下标,导致数组访问越界 b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字 ...

最新文章

  1. 第七章 培养负责的习惯
  2. mysql nan_mysql在工作中的积累
  3. python中用来回溯异常的模块_python学习笔记(异常)
  4. java gnu_GNU/Linux下Java开发环境的安装和配置 | 学步园
  5. 传授电脑蓝屏开不了机怎么办
  6. Linux实战教学笔记50:Zabbix监控平台3.2.4(二)深入理解zabbix
  7. Activiti6驳回上一节点
  8. 如何查找期刊是否被SCI或者SSCI收录
  9. 使用word代码域自动为图表 标号
  10. 打开IE浏览器页面默认为标准模式的方法
  11. java h5服务器推送事件_初识H5开启多线程与服务器推送事件
  12. AndroidStudio 自带avd模拟器WiFi网络受限无法连接
  13. 工作中一个管理者的态度
  14. pcie ecam --- Linux kernel 实现欣赏
  15. 达人评测 酷睿i7 1195g7和i7 1260p对比选哪个
  16. Perforce使用中文教程: p4 client
  17. Serenity Screenplay模式
  18. 【大数据开发】SparkCore——Spark作业执行流程、RDD编程的两种方式、简单算子
  19. UEFI 基础教程 (十一) - Shell下读取SMBIOS信息
  20. 计算机毕业论文java毕业设计论文题目ssm项目源码水果商城系统电商购物项目[包运行成功]

热门文章

  1. EasyClick更新图库
  2. 沪漂5年,工作这点事儿
  3. 项目中Java的多线程一般用在哪些场景?
  4. 从输入url到页面加载完成中间都发生了什么?
  5. linux 开放5222端口,XMPP协议、IM、客户端互联详解
  6. 分享72个商务商城PHP源码,总有一款适合你
  7. 用Java实现一个简易的植物大战僵尸游戏
  8. potplayer播放器实现人声增强
  9. (原创)暴力破解西电校园网密码
  10. 纯C语言写计算器界面