我正在努力使用调试器,而不是总是通过NSLog打印我的调试消息。今天早上我觉得我有一个很好的用途 - 找到KVO字典的改变值。但是当我在适当的代码之后设置一个断点并运行调试时,我在调试器中看到的只是摘要中的这个:
{(int)[$VAR count]} key/value pairs
并且扩展项目永远不会获得任何键或值。
但是当我通过NSLog打印出“更改”字典时,我得到了密钥和值:
[timestamp] appName[3643:707] observeValueForKeyPath new filePath change: {
kind = 1;
new = foo;
我想我有两个问题:
我(仍在)使用Xcode 3.2.6。
谢谢!
编辑:我意识到“foo”不是有效的文件路径。此时我还在测试通过KVO发送值。答案 0 :(得分:2)
在要检查变量值的位置设置断点并运行应用程序。当断点被触发时,将鼠标放在调试器中的变量上。应该会出现一个小弹出窗口,将鼠标移到左侧的箭头上,然后弹出另一个菜单。单击“打印描述”,它应该在控制台中显示类似于日志的内容。
这只是一个案例方法,但很多只是个人偏好。你必须找到适合你的东西。
如果我要在一个特定点检查一个变量,我将使用日志。这通常是查看某些内容是否正常的最快方式
如果我正在检查代码的一部分如何影响变量,我将使用调试器并逐步执行代码。它对于检查代码段中的大量变量的值也很有用。
答案 1 :(得分:0)
您可以使用未来的设置,这在Xcode4中无效 当你设置断点时,在哪里可以选择不停止执行程序并写入任何你想要的东西。 我不确定它是否在Xcode 3 bcs中运行良好我熟悉4但是这里有效。