zoukankan      html  css  js  c++  java
  • core dump文件的生成

    #include <stdio.h>
    int main(int argc, char *argv[])
    {
        char * p = "abcdefg";
        p[2] = '3';
        printf("result = %s
    ", p );
            return 0;
    }     
    gcc  -g gdb.c -o 1
    
    gdb ./1 core

    1.  生成core dump文件的方法:

      $ ulimit -c //查看是否为0

      如果为0

      $ ulimit -c unlimited

      这样在程序崩溃以后会在当前目录生成一个core的文件

     

    1.  调试core dump文件

      生成了core文件以后

      $ gdb ./1 core

      就会恢复现场到你的程序崩溃的那一刻

      (gdb)bt //这个命令会列出程序崩溃时的堆栈信息,一层一层会有标号 #0 #1 #2 .......

      如果你要查看某一层的信息,你需要在切换当前的栈,一般来说,程序停止时,最顶层的栈就是当前栈,如果你要查看栈下面层的详细信息,首先要做的是切换到你想看的栈

      (gdb)f N //N是你想要切换的栈的标号,达到后可以用 ‘p 变量’ 查看变量的值,以查找异常出现的原因

     

      info args
      打印出当前函数的参数名及其值。

      info locals
      打印出当前函数中所有局部变量及其值。

      info catch
      打印出当前的函数中的异常处理信息。

  • 相关阅读:
    云服务器配置
    linux云服务器的配置
    Python进阶练习与爬取豆瓣T250的影片相关信息
    实时爬取疫情动态变化并进行可视化展示
    python基础学习
    异步实现用户名的校验
    人月神话读书笔记(一)
    第三周学习进度博客
    CentOS7.4下编译Hadoop-2.7.6
    Linux 内存使用率
  • 原文地址:https://www.cnblogs.com/huang-y-x/p/10307039.html
Copyright © 2011-2022 走看看