【问题标题】:Why my xcode 6 break on crash?为什么我的 xcode 6 在崩溃时中断?
【发布时间】:2023-03-09 10:40:01
【问题描述】:

我的应用程序出现了一些错误, 它在控制台中报告:

exc:*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array

但它只是崩溃并终止,只是没有在代码崩溃行中断。

是我的设置有错误还是有什么问题?

我知道我的代码有什么问题。我只是想知道为什么 xcode 不会在代码行中断,而不仅仅是终止运行的应用程序。

Xcode 6.1 Mac OSX 10.10

【问题讨论】:

  • 这不是 Xcode 问题,你在某些视图控制器中使用了数组,它计算空数组
  • 这与 Xcode 无关。您需要检查数组的值。
  • 我知道我的程序有什么问题,但我想通过 xcode 检查该异常并停在代码行,而不仅仅是终止应用程序。 @Anbu.Karthik

标签: ios xcode macos debugging crash


【解决方案1】:

在您的代码中,您尝试访问数组中的对象,但该数组为空。在访问数组元素之前,只需使用 [myArray count] 检查数组是否为空。

【讨论】:

  • 我知道我的问题是什么。我想知道为什么我的 xcode 6 没有中断代码行,它只是终止了正在运行的应用程序
  • 当程序执行检测到数组中的内存访问超出分配的限制时,它会抛出一个 NSRangeException。由于程序中没有处理这个异常,它继续沿着调用函数链向上移动,直到它到达主函数并在那里终止应用程序。如果将代码(访问数组对象的位置)放在 try 和 catch 块中,则可以在代码中捕获此异常并进行相应处理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-23
  • 2020-08-15
  • 1970-01-01
  • 2015-09-03
相关资源
最近更新 更多