Xcode调试器与NSLog - 字典键和值

时间:2011-04-03 15:44:37

标签: objective-c xcode

我正在努力使用调试器,而不是总是通过NSLog打印我的调试消息。今天早上我觉得我有一个很好的用途 - 找到KVO字典的改变值。但是当我在适当的代码之后设置一个断点并运行调试时,我在调试器中看到的只是摘要中的这个:

{(int)[$VAR count]} key/value pairs

并且扩展项目永远不会获得任何键或值。

但是当我通过NSLog打印出“更改”字典时,我得到了密钥和值:

[timestamp] appName[3643:707]  observeValueForKeyPath new filePath change: {
kind = 1;
new = foo;

我想我有两个问题:

  1. 有没有办法用Xcode调试器获取字典键和值?
  2. 使用调试器与打印日志消息是否有一套经验法则?
  3. 我(仍在)使用Xcode 3.2.6。

    谢谢!

    编辑:我意识到“foo”不是有效的文件路径。此时我还在测试通过KVO发送值。

2 个答案:

答案 0 :(得分:2)

  1. 在要检查变量值的位置设置断点并运行应用程序。当断点被触发时,将鼠标放在调试器中的变量上。应该会出现一个小弹出窗口,将鼠标移到左侧的箭头上,然后弹出另一个菜单。单击“打印描述”,它应该在控制台中显示类似于日志的内容。 enter image description here

  2. 这只是一个案例方法,但很多只是个人偏好。你必须找到适合你的东西。

  3. 如果我要在一个特定点检查一个变量,我将使用日志。这通常是查看某些内容是否正常的最快方式

    如果我正在检查代码的一部分如何影响变量,我将使用调试器并逐步执行代码。它对于检查代码段中的大量变量的值也很有用。

答案 1 :(得分:0)

您可以使用未来的设置,这在Xcode4中无效 当你设置断点时,在哪里可以选择不停止执行程序并写入任何你想要的东西。 我不确定它是否在Xcode 3 bcs中运行良好我熟悉4但是这里有效。