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文件的同时,运行着的进程不会重启。

  • 相关阅读:
    springBoot 与 springMVC的区别
    spring的IOC和AOP
    实现同步的三种方法
    台阶积水问题
    requsets模块和beautifulsoup模块
    爬虫
    rabbitMQ 消息队列
    Django框架
    mysql
    jQuery
  • 原文地址:https://www.cnblogs.com/hseagle/p/3055997.html
Copyright © 2011-2022 走看看