zoukankan      html  css  js  c++  java
  • 【转】GDB attach到一个进程

    要调试守护进程等已经启动的进程或是调试陷于死循环的进程可以使用attach命令
    格式 attach pid
    C语言代码
    #include <stdio.h>         int main(void)    {        int marks[10];      int i;     for(i=0;i<12;i++)      {      scanf("%d",&marks[i]);      }  for(i=0;i<12;i++)      {      printf("%d",marks[i]);      }  }
     
    查看进程id
    #ps ax
    或者
    #ps au

    启动GDB
    #gdb
     
    用bt命令显示backtrace栈帧,可以看到程序通过怎样的调用途径陷入等待状态。
    从上图可见调用了系统调用_isoc99_scanf()。
    查看源代码,发现确是scanf("%d",&marks[i]);
    attach之后就可以使用普通的gdb命令
    进程信息可以用info proc显示
    寄存器信息可以用info reg显示

    原文:https://blog.csdn.net/unix21/article/details/8450169
  • 相关阅读:
    人月神话读书笔记
    读人月神话有感
    Codeforces 137D
    Codeforces 1138B
    <WFU暑假训练一> 解题报告
    Codeforces 1250B
    Codeforces 1038D
    Codeforces 1202D
    Codeforces 87B
    Codeforces 208C
  • 原文地址:https://www.cnblogs.com/coreLeo/p/11076556.html
Copyright © 2011-2022 走看看