如何进行Linux下多线程的调试?

    作者:课课家教育更新于: 2016-02-22 15:21:09

    如何进行Linux下多线程的调试?_Linux多线程_linux系统_Linux_课课家

      多线程调试的基本命令(均在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过一个函数外,只有当前线程会执行。

      GDB调试程序用法 http://www.Linuxidc.com/Linux/2013-06/86044.htm

      GDB+GDBserver无源码调试Android 动态链接库的技巧 http://www.linuxidc.com/Linux/2013-06/85936.htm

      使用hello-gl2建立ndk-GDB环境(有源码和无源码调试环境) http://www.linuxidc.com/Linux/2013-06/85935.htm

      在ubuntu上用GDB调试printf源码 http://www.linuxidc.com/Linux/2013-03/80346.htm

      Linux下用GDB调试可加载模块 http://www.linuxidc.com/Linux/2013-01/77969.htm

      Ubuntu下使用GDB断点Go程序 http://www.linuxidc.com/Linux/2012-06/62941.htm

课课家教育

未登录