0

我正在使用 LLDB 调试一个大型程序,并且有一个bool随处使用的变量,通常称为 extern。我已经调试了一段时间,无论我在哪里设置断点,值总是true. 我想找到这个值的设置位置 - 我已经尝试搜索代码并在每次分配该变量时设置断点,但似乎没有一个被触发,并且在稍后的断点处,该值总是true. 有什么方法可以确定第一次写入变量吗?

4

1 回答 1

1

就像 Flash Sheridan 在他对您的问题的评论中指出的那样,您想在此处使用观察点。在你的应用程序早期设置断点(例如NSApplicationMain),在你的(可能是全局的)布尔变量上设置一个观察点,

(lldb) watch set variable myvar

或者

(lldb) w s v myvar

这应该在每次myvar修改时停止程序执行。

于 2012-12-13T01:02:52.587 回答