0

我是 SwiftUI 的新手,目前正在开发我的第一个大型应用程序。程序在模拟器中成功运行,但是模拟器屏幕全白,我收到错误:

线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

在 AppDelegate(我没有对其进行更改)中,该应用程序已经包含多个文件,但是我在我的代码中找不到任何问题,但是我检查了很多次。我应该寻找什么类型的错误?

4

1 回答 1

2

在 Swift 代码的上下文中,

EXC_BAD_INSTRUCTION

通常意味着您遇到了编译器陷阱,即由于在运行时检测到错误,编译器将未定义的指令插入到代码中。最常见的原因是:未能打开可选项 —</p>

  1. 这可以是强制解包 (!) 或隐式解包(访问 nil 的隐式解包选项)。
  2. 数组越界
  3. 一个失败的强制转换(as!),要么是因为该值是 nil 可选的,要么是因为该值的类型错误

您可以通过创建异常断点来调试此问题。顾名思义,这会在执行引发此异常的行之前停止代码执行。

要在 Xcode 中创建异常断点,请转到 BreakPoint navigator -> 单击左下角的 + 图标 -> 选择异常断点。

有关断点的更多信息,请查看此链接

于 2020-08-08T13:23:20.280 回答