Linux下多线程的调试

2014-11-23 22:00:02 · 作者: · 浏览: 18

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