美文网首页
GDB调试多线程

GDB调试多线程

作者: 龙葵他 | 来源:发表于2018-12-10 20:45 被阅读0次
    • 我在最开始学gdb的时候是十分抗拒的,调试没有界面?不能用鼠标点点点?怎么看各种变量的值。。。但是又不得不用gdb,因为linux下有界面的调试还是挺麻烦的。

    • 学会了之后觉得很简单,当然。。只会基本的,n下一步,p输出变量,b下端点,l查看。。

    • 我在之前意识到自己可能要gdb调试多线程的时候也是十分抗拒的,直到现在也十分抗拒。。一个线程都整不明白,多个怎么调?但是没办法,工作总要做啊。学会之后一切都变得简单了 ~

    1. 常用命令
    1. 显示所有的可调试进程;

    gdb> info threads

    • 我这里有4个可以调试的进程,gdb会为每个进程分配个ID,后面会用,*代表当前调试的主进程,我这里是main。
    pasted-19.png
    • 当然也可以在系统中查看线程,首先看一下自己程序的进程号,我这里是17438.

    ps -ef

    pasted-20.png

    然后用查看这个进程的所有线程,和gdb查看的结果是一样的。

    ps -Lf 17438

    pasted-21.png
    1. 切换到某个进程

    thread ID

    • 切换的ID之前info的时候会显示
    pasted-22.png

    相关文章

      网友评论

          本文标题:GDB调试多线程

          本文链接:https://www.haomeiwen.com/subject/rwodhqtx.html