【问题标题】:What are some Objective-c debugging tips? [closed]有哪些 Objective-c 调试技巧? [关闭]
【发布时间】:2009-09-02 10:38:40
【问题描述】:

我还没有正确地学习如何使用 Xcode 调试器,但我想知道是否有人有一些最喜欢的调试技巧,可以快速插入代码以查看对象状态的东西。任何能帮助我更多地了解 Objective-c 内部原理的东西。

我主要依靠NSLog(@"%@", myObject) 来查看myObject 发生了什么,或者有时依靠NSLog(@"%@", [myObject class]) 来检查某些东西是否真的是它应该是的类。我知道我可以通过使用调试器来做到这两点,但我想暂时先尝试使用代码,然后再开始使用完整的调试器。

你有什么类似的技巧吗?

【问题讨论】:

  • 不要把所有东西都放在一条线上。如果您在自定义类的实例中访问字典中的索引,则将每个访问级别设为单独的临时访问,而不是将所有内容“菊花链”在一起。更易于维护和调试,因为您可以使用调试器查看所有中间值。
  • 在控制台中,当在断点处停止时,键入“帮助”。它将向您显示可用的调试器命令。熟悉“po”,尤其是“po”,因为它可以可靠地显示变量显示窗口不会显示的内容。

标签: objective-c debugging


【解决方案1】:

断言。很多很多的断言。当你假设某事一定是某种方式时,断言它是真的。

构建和分析是新的构建。在 Snow Leopard 中使用 Clang 静态分析器。

没有魔法;系统和代码中的所有事情都是有原因的,包括崩溃和不当行为。

拥抱调试器;它真的很强大,而且很容易上手。

Greg Parker 的博客是了解某些事情如何运作的“幕后”观点的绝佳来源:http://www.sealiesoftware.com/blog/

【讨论】:

    【解决方案2】:

    我还在我的代码中使用了很多 NSAsserts。
    以下是 Chris Hanson 撰写的 2 篇关于 NSAssert 的有用文章:

    我经常使用的另一种调试技术:
    由于 Xcode 不会在调试器视图中显示数组内容,因此您可以使用 (gdb) 控制台或表达式窗口来列出数组内容。 Here 是相关的 SO 帖子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-09
      • 2012-02-19
      • 2010-10-13
      相关资源
      最近更新 更多