zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    类的加载过程 以及实例的加载顺序
    设计优化之单例模式
    Java程序性能优化之性能概述
    1-12接口
    1-11多态
    1-9方法的重写(override)
    1-6static关键字
    1-10super和this关键字
    1-8继承extends
    1-7代码块的分类
  • 原文地址:https://www.cnblogs.com/defen/p/5560721.html
Copyright © 2011-2022 走看看