【问题标题】:What are the most common/uncommon error messages one encounters in Objective-C and what causes them?在 Objective-C 中遇到的最常见/不常见的错误消息是什么?是什么原因导致的?
【发布时间】:2011-01-18 19:44:41
【问题描述】:

我一直在努力维护我在开发过程中遇到的所有错误消息及其常见原因和修复的列表。您遇到的常见(和不那么常见)错误消息是什么,您是如何修复它们的?

【问题讨论】:

  • 这应该是一个社区维基

标签: iphone objective-c debugging foundation


【解决方案1】:

EXC_BAD_ACCESS 引用指向已被dealloc'ed 的对象的指针时

【讨论】:

  • 希望我能 +5 这个。如果您在预期对象时传递原始类型,您也经常会得到它,因为它不是有效的指针。
【解决方案2】:

总的来说,我发现 Objective-c 异常和错误消息是不言自明的。我认为学习使用调试器在objective-c异常上设置断点来定位导致崩溃的特定行,而不是尝试编译一个recipies列表来解决常见错误,我认为你会得到更好的服务。

也就是说,我认为经常引起混淆的一个非显而易见的错误是“无法识别的选择器 foo:发送到 BarClass”。虽然这是一个错误的原因应该很清楚,但要回答这是如何发生的可能更难,我看到两个常见原因:

  1. 应用程序试图在超类的实例上调用子类的方法。通常是由于开发人员未能更改 IB 中的对象类别。
  2. 对象在被释放后被过度释放或以其他方式引用。如果某个其他类的新实例现在占用该内存地址,则应用程序会遇到“无法识别的选择器”异常而不是“BAD_ACCESS”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多