zoukankan      html  css  js  c++  java
  • 每天学点GDB 9

    本篇主要讲解如何利用gdb对coredump进行分析

    gdb ./demo core

    查看调用堆栈

    gdb)bt 
    查看更为完整的信息
    gdb) bt full

    如果是多线程,想看每个线程的调用堆栈

    gdb) thread apply all bt

    至于如何分析内存变量之类的,在本一系列前面的章节有专门论述,可以参考。

    想调试已经在运行的程序

    gdb ./demo

    假设当前运行着的demo进程为1234,则在gdb中运行attach进行关联

    gdb) attach 1234

    注意attach上之后,当前运行着的进程处于停止状态,要恢复运行,请用continue
    对当前运行着的进程调试完毕,解脱关联

    gdb)detach

    最后的最后,如果想手工产生coredump文件,怎么办。
    两种方法,第一种

    kill -3 pid

    第二种,利用gcore

    gcore pid

    推荐使用gcore,因为在产生core文件的同时,运行着的进程不会重启。

  • 相关阅读:
    递归 迷宫问题
    中缀表达式转后缀表达式
    栈实现后缀表达式计算

    单向环形链表
    站在巨人的肩上
    C#自宿主API,不依赖IIS
    MySQL 安装失败解决办法
    第一话
    村上春树《眠》读书笔记
  • 原文地址:https://www.cnblogs.com/hseagle/p/3055997.html
Copyright © 2011-2022 走看看