coredump故障分析

Posted 高傲的monkey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了coredump故障分析相关的知识,希望对你有一定的参考价值。

如果一个程序运行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故障分析的主要内容,如果未能解决你的问题,请参考以下文章

有没有懂OTDR的人? 故障怎么分析?

Linux系统故障分析与排查--日志分析

从零开始学习MySQL调试跟踪

故障诊断分析基于matlab FFT轴承故障诊断含Matlab源码 2001期

线上故障分析-故障分级,原因,分类,混沌工程,排除方法

实时即未来,车联网项目之远程诊断实时故障分析