linux下多线程的调试

来源:互联网 发布:知乎4.7怎么不能提问 编辑:程序博客网 时间:2024/05/18 02:42
多线程调试的基本命令(均在gdb命令行使用):
   info threads ———— 显示当前可调试的所有线程。每一个线程都有自己的线程ID,显示结果中前面有*的表示当前调试的线程。
   eg:
    (gdb)info threads
    ID    Target ID
         3     Thread 0x——————(LWP 1235)
         2    Thread 0x——————(LWP 1234)
         *1    Thread 0x——————(LWP 1233)    //当前活动的线程
   最前面的数字1、2、3表示线程ID
   thread ID ———— 切换当前活动线程到ID指定的线程
   thread apply ID1 ID2 command ———— 让一个或多个线程执行gdb命令command
   thread apply all command ———— 让所有被调试线程执行gdb命令command
   set schedular-locking off|on|step ———— off:调试线程时,其他线程也在运行;on:只有当前被调试线程执行;step:step在单步执行的时候,除了next过一个函数外,只有当前线程会执行。
0 0