文档

​
​

Development

User Acquisition

Monetization

工业

Cloud Diagnostics

Cloud Diagnostics

LiveOps
​
​
Cloud Diagnostics
  • Overview
  • Migrate from Cloud Diagnostics
  • Get started
  • Concepts
    • Debugging Symbols
    • About Crash and Exception Reporting
    • About User Reporting
  • Tutorials
  • Privacy and consent
  1. 欢迎使用 Cloud Diagnostics

关于调试符号

Understand how debugging symbols map program addresses to function names for readable crash stack traces.
阅读时间4 分钟
最后更新于 9 个月前

符号将程序地址映射到函数名。它们让崩溃和异常报告能够以人类刻度的名称提供原生崩溃 stack trace,而不是使用数字地址。它们可以包含在可执行文件中,但通常存储在单独的文件中,以减小可执行文件的大小。
崩溃和异常报告功能使用以下两套符号:
  • 系统 (OS) 符号:系统符号由操作系统供应商生成,并根据操作系统的不同而采用不同的格式。Apple 平台使用 dSYM 文件夹,Android 符号存储在 .so 文件中,而 Windows 符号存储在 .pdb 文件中。Unity 支持由 Apple、Google 和 Microsoft 生成的符号。
  • 应用程序 (Unity) 符号:构建 Unity 项目时会自动生成应用程序符号。
如果崩溃和异常报告中缺失符号文件,诊断问题可能变得更加困难,因为报告中会显示数字地址。借助崩溃和异常报告服务,您可以上传符号文件来帮助识别报告中的问题。

了解系统符号缺失问题

符号文件具有通用唯一标识符 (UUID) 或全局唯一标识符 (GUID),并且该标识符必须与可执行文件的 ID 完全匹配。如果崩溃和异常报告服务无法加载 ID 与库或模块匹配的符号文件,则会生成以下错误:
  • <system symbols missing>
  • <symbols missing for uuid: xxx...>
如果发生这种情况,问题通常是 Cloud Diagnostics 缺少该操作系统版本的符号。对于 iOS 和其他 Apple 平台,获取旧版操作系统的符号可能较为困难。
如果遇到这种情况,您可以检查是否有关于操作系统另一个版本的相似崩溃报告。如果有,您或许能够通过在那个操作系统版本中进行调试来解决问题。

了解应用程序符号缺失问题

缺失应用程序符号时,报告中会在 stack trace 中包含一行:
<symbols missing for uuid: xxx...>
在构建启用了崩溃和异常报告的项目时,Unity 会生成一个符号文件并将其上传到崩溃和异常报告服务器。如果此过程失败,Unity Dashboard(Unity 后台)中将显示符号缺失消息。
要对符号上传失败问题进行故障排除,请检查 symbol_upload.log 文件,该文件与主 Unity 日志位于同一文件夹中。该文件应该会指示找到并处理的符号,以及在处理和上传这些符号时发生的任何错误。

后续工作

如果崩溃和异常报告包含符号缺失问题,请从 Dashboard(后台)上传符号文件。请参阅上传符号文件。

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。

  • 在本页上
    • 了解系统符号缺失问题

    • 了解应用程序符号缺失问题

    • 后续工作


报告此页面的问题