获取所有线程堆栈:
(gdb) thread apply all bt
backtrace
可以在C
代码中使用backtrace
来获取线程堆栈,但是需要glibc
支持
thread apply
'thread apply [thread-id-list]|[all] args', a command to apply a command to a list of threads
thread scheduler
set scheduler-locking off|on|step
- off 不锁定任何线程,也就是所有线程都执行,这是默认值
- on 只有当前被调试程序会执行
- step 在单步的时候,除了next过一个函数的情况
(熟悉情况的人可能知道,这其实是一个设置断点然后continue的行为)以外,只有当前线程会执行
set print thread-events off|on
线程产生通知开关
commands
break foo if x>0
commands
printf “x is %d/n”,x
continue
end