如何跳转到 LLDB 堆栈顶部的不同线程?
How can I jump to a different thread at the top of the stack in LLDB?
使用 LLDB,您可以使用 up
和 down
命令或 select 特定帧在堆栈上的帧中上下移动。当您到达堆栈顶部时,是否可以跳转到生成当前线程上发生的代码执行的线程?
没有。 "Originating thread" 不是线程系统跟踪的那种东西(或者更确切地说,pthreads 没有,而且我没听说过这样的东西......)
如果您使用 libdispatch 来处理线程操作,那么您可以使用 "introspection" 版本的 libdispatch(在 /usr/lib/introspection 中)启动,然后使用命令:
(lldb) thread backtrace -e
将在当前线程上完成的工作项排队时打印来自原始线程链的堆栈。 Xcode 将默认显示给您。当然,这些不是实时回溯,因此您将无法检查堆栈内存等。
使用 LLDB,您可以使用 up
和 down
命令或 select 特定帧在堆栈上的帧中上下移动。当您到达堆栈顶部时,是否可以跳转到生成当前线程上发生的代码执行的线程?
没有。 "Originating thread" 不是线程系统跟踪的那种东西(或者更确切地说,pthreads 没有,而且我没听说过这样的东西......)
如果您使用 libdispatch 来处理线程操作,那么您可以使用 "introspection" 版本的 libdispatch(在 /usr/lib/introspection 中)启动,然后使用命令:
(lldb) thread backtrace -e
将在当前线程上完成的工作项排队时打印来自原始线程链的堆栈。 Xcode 将默认显示给您。当然,这些不是实时回溯,因此您将无法检查堆栈内存等。