有没有办法跟踪Xcode中的变量更改或内存更改?我正在寻找像Visual Studio的数据断点这样的功能。
我想知道我的对象的视图框架在哪里被更改。我想在成员变量上设置断点并运行它。然后我可以确定它的变化。
答案 0 :(得分:20)
Xcode使用gdb
(或lldb
,但这是另一个故事)来实现其调试功能。 gdb
能够设置硬件观察点,因此Xcode也是如此。
This是用于内存错误的通用调试的有用页面。 Xcode的调试控制台窗口实际上只是一个gdb
shell,您可以根据需要输入命令。有帮助的Quinn Taylor在this相关帖子中解释了如何做到这一点。
如果您宁愿避免直接与gdb
交互,可以在Xcode的调试窗口中右键单击一个变量,然后选择“Watch Variable”。只要您的变量值发生变化,Xcode就会提醒您。
答案 1 :(得分:10)
您可以使用hardware watchpoints。
您必须获取要跟踪的变量的地址(在gdb提示符下键入p &my_var
)。
它会打印类似0x12345678
的内容。
使用gdb:type watch *(int *)0x12345678
。
使用lldb:watch set expression (int *)0x12345678
(或w s e (int *)0x12345678
)
这假设您的变量是int
。它将在此地址上创建硬件观察点。
希望这有帮助。
答案 2 :(得分:1)
是
在“运行”菜单下,有“调试器”,它为gdb提供了一个可视前端。
此外,“构建并运行”按钮旁边还有一个断点按钮。您可以点击“运行”>下的那个并管理断点。管理断点。
答案 3 :(得分:0)
我知道这篇文章已经过时了但如果您仍然想知道我在这里发布了详细的答案:In XCode 6 how can you set a watchpoint without stopping execution?