码迷,mamicode.com
首页 > 其他好文 > 详细

coredump故障分析

时间:2016-06-05 15:35:28      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

如果一个程序运行3天后才会出错,这个时候

难道需要我们一直用GDB调试程序3天吗?

这个时候我们就需要使用到core  dump:

1、Core Dump又叫核心转存。当程序在运行过程中发生异常, 这时Linux系统可以把程序出错时的内存内容存储在一个core文件

中, 这种过程叫Core Dump.

2、那么Core dump用来对付什么样的错误呢?主要是段错误(segment fault)...

一般的表现是:a.数组访问越界  b.访问空指针  c.栈溢出  d.修改只读内存

3.在linux系统中,默认是关闭core dump功能的,但是可以通过ulimit命令打开/关闭

打开:ulimit -c unlimited

关闭:ulimit -c 0

4.发生core dump之后,可以使用gdb进行查看core文件的内容,定位出程序出错的位置

用法:gdb 程序名  core文件名

gdb  ./test core.122223

5、完整范例:

gdb -c core.id  程序名

输入:where 。可以知道由谁调用,哪行被down了在哪个函数里。

或者输入bt

 

coredump故障分析

标签:

原文地址:http://www.cnblogs.com/defen/p/5560721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!