调试消息、警告和错误都将输出到控制台。Unity 还会将状态报告输出到控制台:加载资源、初始化 Mono、图形驱动程序信息。
如果要了解发生了什么,请查看 editor.log
文件,该文件提供比控制台更详细的信息。可尝试了解目前发生的情况,并查看编码会话的完整日志。这将有助于找出导致 Unity 崩溃的原因或弄清楚资源的问题。
Unity 还会在设备(Android 的 Logcat 控制台和 iOS 设备上的 Xcode gdb 控制台)上输出一些信息
c++filt
(ndk
的一部分)或其他方法对损坏的函数调用进行解码libunity.so
- 崩溃出现在 Unity 代码或用户代码中libdvm.so
- 崩溃发生在 Java 世界的 Dalvik 某个位置。因此,请找到 Dalvik 的堆栈跟踪,查看 JNI 代码或任何与 Java 相关的内容(包括可能对 AndroidManifest.xml
进行的更改)。libmono.so
- Mono 错误或执行的操作不符合 Mono 的规则如果崩溃日志没有帮助,可将日志进行分解以粗略了解发生的情况:
1. 像这样使用来自 Android NDK 的 ARM EABI 工具:objdump.exe -S libmono.so>>out.txt
。
1. 从堆栈跟踪查看 PC 相关代码
1. 尝试在新的 out.txt
文件中匹配这些代码。
1. 向上滚动以了解它发生的方法中发生了什么。