Unity3D :堆栈跟踪日志记录
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
堆栈跟踪日志记录
Unity 控制台消息和日志文件可以包含详细的堆栈跟踪信息。控制台还链接到生成消息的代码行。当您想要标识导致日志条目出现的函数调用的行、方法或序列时,这很有用。
提示:检查代码的另一种方法是将调试器附加到编辑器或生成的播放器。
托管和非托管代码的堆栈跟踪
Unity 可以为托管和非托管代码提供堆栈跟踪信息:
- 托管代码:在 Unity 中运行的托管 DLL 或 C# 脚本。这些脚本可以是 Unity 附带的脚本、您编写的自定义脚本、资源商店插件中包含的第三方脚本或在引擎中运行的任何其他 C# 脚本。
- 非托管代码:原生 Unity 引擎代码,或直接在计算机或目标构建平台上运行的原生插件中的代码。非托管代码通常从 C 或 C++ 代码编译。只有当您拥有本机二进制文件的原始源代码时,才能访问它。 通常,仅当需要确定错误是由代码还是引擎代码以及引擎代码的哪一部分引起时,才会对非托管代码使用堆栈跟踪。
Unity 提供三个堆栈跟踪选项:
- 没有:Unity 不输出堆栈跟踪信息。
- 仅脚本:Unity 仅输出托管代码的堆栈跟踪信息。这是默认选项。
- 满:Unity 输出托管和非托管代码的堆栈跟踪信息。
堆栈跟踪资源要求
解析堆栈跟踪(尤其是完整堆栈跟踪)是一项资源密集型操作。堆栈跟踪的一些最佳实践包括:
- 仅使用堆栈跟踪进行调试。不要将应用程序部署到启用了堆栈跟踪的用户。
- 限制显示堆栈跟踪的消息类型。例如,请考虑仅对异常和警告使用堆栈跟踪。
设置堆栈跟踪类型
注意:堆栈跟踪选项是一个生成设置,会影响生成的播放器。它不是编辑器中的视图首选项。
要指定要在堆栈跟踪中包含的详细信息量,您可以使用脚本 API 或编辑器:
- 若要通过脚本 API 控制堆栈跟踪日志记录,请使用 Application.SetStackTraceLogType。 可以使用 API 在生成播放器之前或运行时更改播放器的堆栈跟踪设置。
- 要使用控制台,请选择控制台菜单按钮,然后:
- 要为所有控制台消息类型选择相同的堆栈跟踪选项,请选择“堆栈跟踪日志记录”>“全部”。
- 要仅为其中一种控制台消息类型选择堆栈跟踪选项,请选择堆栈跟踪日志记录> [消息类型]。 使用新设置重建您的播放器。
- 要使用“播放器设置”窗口,请选择“文件>生成设置”>“播放器设置”>“其他设置”。 使用新设置重建您的播放器。

堆栈跟踪输出中的开源文件
消息的全文包括对带有链接的代码文件中特定行的引用。单击任意链接以在 IDE 中引用的行处打开该文件。
查找已生成应用程序的输出日志文件
构建的应用程序不会输出到控制台。若要查看堆栈跟踪,请使用应用程序的日志文件。
由3D建模学习工作室整理翻译,转载请注明出处!