- 用户指南
- 资源商店 (Asset Store)
- 资源服务器 (Asset Server)(仅限团队许可证)
- 缓存服务器(仅限团队许可证)
- 幕后场景
- 创建游戏
- 运行时实例化预设 (Prefabs)
- 变换 (Transforms)
- 物理
- 添加随机的游戏元素
- 粒子系统(Particle Systems)
- Mecanim 动画系统
- 旧动画系统
- 导航网格 (Navmesh) 和寻路 (Pathfinding)(仅限专业版 (Pro))
- Sound (音频侦听器)
- 游戏界面元素
- 多玩家联网游戏
- iOS 开发入门
- Android 开发入门
- Blackberry 10 开发入门
- Metro:入门指南
- 本地客户端开发入门
- FAQ
- Advanced
- Vector Cookbook
- 资源包(仅限专业版)
- Graphics Features
- 资源数据库 (AssetDatabase)
- 构建播放器管道
- 分析器(仅限专业版)
- 光照贴图快速入门
- 遮挡剔除(仅限专业版)
- 相机使用技巧
- 运行时加载资源
- 通过脚本修改源资源
- 用程序生成网格几何体
- 富文本
- 在 Unity 工程 (Project) 中使用 Mono DLL
- 事件函数的执行顺序
- 移动优化实用指南
- Unity XCode 工程结构
- 优化图形性能
- 减少文件大小
- 理解自动内存管理
- 平台依赖编译
- 泛型函数
- 调试
- 插件(专业版/移动版特有功能)
- 文本场景文件格式(仅限专业版)
- 流媒体资源
- 启动时运行编辑器脚本代码
- 网络模拟
- VisualStudio C 集成
- 分析
- 检查更新
- 安装多版本 Unity
- 故障排除
- Unity 中的阴影
- Unity 中的 IME
- 对集成显卡进行优化
- 网络播放器 (Web Player) 部署
- 使用网络播放器中的信任链系统
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
系统崩溃
系统崩溃检查表
- 禁用代码剥离(并在 iOS 设备上设置“因异常而减慢 (slow with exceptions)”)
- 按照优化所创建的 iOS 播放器大小说明 (https://www.wenjiangs.com/doc/4kfFcQ6S),确保游戏不会在 iOS 上因代码剥离而崩溃。
- 验证崩溃不是由内存不足所引起(重新启动设备,将设备的最大 RAM 用于该平台,务必观察日志信息)
编辑器上的 Editor.log
调试消息、警告和错误都出现在控制台上。同时 Unity 会将状态报告输出到控制台,包括加载资源、初始化 mono、图形驱动器信息。
如果想了解目前的情况,请查看 editor.log。您将在该日志中看到所有内容,而非只有控制台部分。尝试了解目前的情况,并查看编码部分的完整日志。这样有助于找出导致 Unity 崩溃的理由或资源存在的问题。
Unity 也在设备上输出一些事项;安卓 (Android) 系统的 Logcat 控制台和 iOS 系统的 Xcode gdb 控制台
Android
在安卓 (Android) 上调试
- 使用 DDMS 或 ADB 工具
- 观察堆栈轨迹(安卓 (Android) 3 或更新版本)。使用 c++filt(ndk 的一部分)或其他方法,如:http://slush.warosu.org/c++filtjs 来解码损坏的函数调用
- 查看出现崩溃的 .so 文件:
- libunity.so - Unity 代码或用户代码出现崩溃。
- libdvm.so - Java 世界 Dalvik 虚拟机的某个位置出现崩溃。找出 Dalvik 虚拟机的堆栈轨迹,查看 JNI 代码或 Java 相关的任何内容(包括可能对 AndroidManifest.xml 作出的更改)。
- libmono.so – Mono 错误或正在进行 Mono 非常厌恶的事项。
- 如果 crashlog 没有帮助,可以反汇编,大致了解已发生的事件。
- 使用 Android NDK 中的 ARM EABI 工具,如:objdump.exe -S libmono.so >> out.txt
- 在电脑堆栈轨迹中查看代码。
- 尝试在最新的 out.txt 文件中匹配代码。
- 向上滚动,了解出现崩溃的函数发生了什么。
iOS
在 iOS 上调试
- Xcode 带内置工具。Xcode 4 带非常不错的 GUI 来调试系统崩溃情况,Xcode 3 版本的稍差些。
- 完整的 gdb 栈 - 线程应用所有的 bt
- 启用空值软检查 (soft-null-check):
启用开发构建和脚本调试。这时未捕获到的空引用异常将通过适当的托管调用栈输出到 Xcode 控制台。
- 尝试关闭“快速脚本调用 (fast script call)” 和代码剥离。这样能阻止一些随机崩溃,如一些由于使用罕用的 .Net 函数或映像所导致的崩溃。
策略
- 尝试找出出现崩溃的脚本,并在设备上使用 Mono Develop 进行调试。
- 如果崩溃似乎不是在脚本中,请仔细查看堆栈轨迹,其中应该会有一些发生情况的提示。复制并提交,我们会仔细查看。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论