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

  • 相关阅读:
    day21作业
    作业day20
    K8S架构图
    day20 类的继承
    课上随手记
    第一篇CEPH集群的学习
    day19 类的讲解
    Eureka工作原理
    局域网、以太网(标准以太网、工业以太网和实时以太网)与无线局域网
    无线局域网,有线局域网
  • 原文地址:https://www.cnblogs.com/defen/p/5560721.html
Copyright © 2011-2022 走看看