包含此页的版本:
不含此页的版本:
当托管代码中发生异常时,异常的堆栈跟踪可以帮助您了解异常的原因。但是,对于 iOS 上的某些情况,托管堆栈跟踪可能不会按预期显示。堆栈跟踪也因 Xcode 构建配置而异。
当您在 iOS 中使用调试构建配置时,IL2CPP Unity 开发的脚本后端,在为某些平台构建项目时,可以将其用作 Mono 的替代方案。更多信息
请参阅术语表将报告可靠的托管堆栈跟踪,并在调用堆栈中包含每个托管方法。堆栈跟踪不包括原始 C# 源代码中的行号。
使用发布生成配置时,IL2CPP 可能会生成缺少一个或多个托管方法的调用堆栈。这是因为 C++ 编译器内联了缺少的方法。方法内联通常有利于运行时的性能,但它会使调用堆栈更难理解。IL2CPP 始终在调用堆栈上至少提供一个托管方法。这是发生异常的方法。如果其他方法未内联,它还包括其他方法。
如果可以在本地重现异常,请使用 Xcode 查找内联方法。使用发布配置在 Xcode 中运行应用程序,并设置异常断点。Xcode 中的本机调用堆栈视图将指示哪些方法实际存在,哪些方法已被内联。
默认情况下,IL2CPP 调用堆栈在调试或发布配置中不包含源代码行号信息。您可以使用以下步骤启用源代码行号:
注意:使用此选项可以增加构建程序的构建时间和最终大小。