有没有一种方法可以不用在XCode 4中使用断点来监视变量?

有没有一种方法可以不用在XCode 4中使用断点来监视变量?,xcode,ios4,variables,xcode4,Xcode,Ios4,Variables,Xcode4,我很确定我已经知道答案了,但我想我还是会问的。 我已经厌倦了创建日志和断点,只是为了确保我的变量在某一点上处于我想要的位置 有人知道在变量运行时不使用断点/日志监视变量的方法吗 谢谢 如果您想确保变量在某一点上必须以某种方式存在,这就是断言的目的(NSAssert()) 如果您只想知道变量何时更改,请使用观察点而不是断点。(单击调试器中的变量并选择“监视”。) 如果您想在某个点检查变量,并且仅当它是“特定的东西”时才中断,请使用条件断点。右键单击xcode中的断点并选择“编辑断点”。您也可以使用

我很确定我已经知道答案了,但我想我还是会问的。 我已经厌倦了创建日志和断点,只是为了确保我的变量在某一点上处于我想要的位置

有人知道在变量运行时不使用断点/日志监视变量的方法吗


谢谢

如果您想确保变量在某一点上必须以某种方式存在,这就是断言的目的(
NSAssert()

如果您只想知道变量何时更改,请使用观察点而不是断点。(单击调试器中的变量并选择“监视”。)

如果您想在某个点检查变量,并且仅当它是“特定的东西”时才中断,请使用条件断点。右键单击xcode中的断点并选择“编辑断点”。您也可以使用此选项仅每隔一段时间中断一次(例如在100次激发之后)

如果您只想知道何时到达一行代码,但不想停在那里,请使用“编辑断点”窗口上的“声音”操作,然后使用“评估操作后自动继续”。我在性能工作中经常使用此操作。当我听到它开始嗡嗡作响时,我知道我在代码中找到了一个热点


您还有其他想法吗?

继Rob Napier的精彩建议之后,您还可以编辑断点来记录您关心的值,然后继续,如下所示:


如您所见,我已将此断点设置为记录表达式
[marker center]
的值。GDB通常需要帮助才能知道表达式的最终类型,这就是为什么我必须添加
(CGPoint)
强制转换的原因。显然,这比在左栏点击设置一个简单的旧断点更为有效,但是在代码中插入“<代码> NSCORE())/COD>语句,并且可以在调试会话的中间进行,不需要重新编译或重新启动应用程序。我从来没有注意到你可以用断点来完成所有这些。这会有帮助的!谢谢