如何使用lldb trace-thread和python SBThread eBroadcastBitSelectedFrameChanged事件

2024-05-16 21:54:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过记录线程调用的所有符号来跟踪它,所以我找到了tow方法

1、lldb设置列表:

'target.process.thread'变量: trace thread——如果为true,则该线程将单步执行并记录执行情况。在

这意味着lldb将记录执行情况,但我找不到日志在哪里

2、lldb python SBThread有一个事件eBroadcastBitSelectedFrameChanged,我想当线程帧改变时它会回调,但是为什么SBThread没有广播器?在


Tags: 方法truetarget列表记录事件trace符号
1条回答
网友
1楼 · 发布于 2024-05-16 21:54:23

1)此设置主要用于帮助诊断lldb的步进算法问题。由于它导致所有的执行都是按指令一步一步进行的,所以它会使你的程序执行得非常慢,所以除了这个目的之外,它还没有被用于任何其他目的(我已经很长一段时间没有使用它了,所以它可能已经有点腐烂了。)输出应该转到调试器的stdout。在

2)eBroadcastBitSelectedFrameChanged仅在用户使用命令行命令更改选定帧时发送。这意味着允许一个类似于GUI的Xcode,它还允许命令行交互来保持GUI与控制台中的用户命令同步。对于线程没有GetBroadcaster,因为线程来来去去,您通常希望监听所有线程,而不仅仅是某个特定线程。为此,请调用SBThread.GetBroadcasterClassName,然后按类名(StartListeningForEventClass)为侦听器注册事件。在

如果您需要监听某个线程,请在http://lldb.llvm.org向bug跟踪器提交一个增强请求。在

相关问题 更多 >