- 元数据 - 可搜索的崩溃详细信息,包括进程名称、崩溃时间和设备信息
- 崩溃信息 - 系统状态数据,例如崩溃时的内存使用情况和设备日志
- 转储部分 - 经过编码的崩溃状态,需要进行符号化才能变得可读
file:function:line_number
通过这种转换,您可以识别应用崩溃位置的确切文件、函数和行号。
先决条件
- 您的应用崩溃时生成的ACR文件。
- 调试符号或源映射(取决于代码类型)。
快速参考
使用此快速参考来选择适合您情况的符号化方法:ACR检索和符号化
您可以通过以下方式检索和符号化崩溃报告:- 从设备侧边栏: 浏览设备文件并直接进行符号化。
- 从命令面板: 将ACR复制到您的计算机上,然后进行符号化。
从设备侧边栏
-
在Vega Studio侧边栏中,找到连接的设备。
- 右键单击设备并选择Show Device Files(显示设备文件)。 Vega Studio会显示您设备上的文件。
-
导航到应用的崩溃文件。该设备将ACR文件存储在
/var/lib/data/ace/dropbox/vault/SYSTEM_TOMBSTONE/acr/下。 -
右键单击要分析的崩溃文件。
- 选择Symbolicate ACR(ACR符号化)。 Vega Studio会自动进行崩溃报告符号化并显示结果。
从命令面板
-
在VS Code中打开命令面板:
- 对于 Mac:
Shift+Command ⌘+P - 对于Linux,
Ctrl+Shift+P
- 对于 Mac:
- 输入Vega Device Management: Copy ACR from device。
- 如果连接了多台设备,请从列表中选择目标设备。
-
输入
package id(程序包ID)或process id(进程ID):- 程序包ID(推荐):此项用于检索应用的所有ACR,可在manifest.toml文件(例如
com.example.myapp)的[package]部分找到。 - 进程ID:此项用于检索特定应用实例的ACR,可从设备正在运行的进程(例如
12345)中获取。
- 程序包ID(推荐):此项用于检索应用的所有ACR,可在manifest.toml文件(例如
-
如果系统找到多个ACR,请选择要下载的ACR:
- 选择All(全部)以下载所有可用的ACR。
- 选择latest(最新)仅下载最新的ACR。
- 将ACR保存到您的首选文件夹。
- 再次打开命令面板,然后输入Vega Device Management: Symbolicate ACR。
- 选择您的ACR文件。
选择符号化选项
启动符号化(使用任一方法)后,Vega Studio会提示您选择符号化选项:- 自动: Vega Studio自动找到所需的所有文件和符号。
- 手动: 您手动指定符号位置。
自动符号化
Vega Studio无需您输入内容即可收集所有必需的配置参数。完成后,Vega Studio会在终端中显示一个符号化的调用堆栈。对于原生代码,Vega Studio会打开GNU调试器 (GDB) 会话进行交互式调试。- 等待Vega Studio收集参数。
- 如果系统提示输入缺失的参数: a. 仔细阅读请求。 b. 输入所需的信息。 c. 选择Continue(继续)。 例如,在自动原生符号化过程中,如果没有设备连接,Vega Studio会提示您提供调试根文件系统。
-
查看结果:
- 检查终端中的符号化调用堆栈。
- 对于原生代码,Vega Studio会打开GDB调试会话。
-
查看ACR摘要:
Vega Studio会自动生成并打开ACR摘要:
- 对于原生代码: 在关闭GDB调试会话后执行
- 对于JavaScript代码: 在符号化完成后立即执行
手动符号化
开始手动符号化之前,请检查您的package.json以验证构建配置。如果使用自定义逻辑(而不是react-native build-kepler)来生成JS Hermes字节码捆绑包或JS源映射,则确保Metro生成的文件遵循以下命名惯例:
- JS纯文本捆绑包:index.bundle
- JS源映射:*.bundle.map
如果Vega Studio仅检测到原生代码,它会提示您:
-
选择符号源:
如果您的设备连接:
- 设备 - 从连接的设备拉取符号和库。
- 调试根文件系统 - Vega Studio会提示您提供调试根文件系统(一种Linux文件系统版本,包含了调试符号,用于对应用进行故障排除)的位置
- 添加其他调试符号文件夹(可选): a. 选择Yes(是)以添加文件夹。 b. 选择文件夹位置。 c. 重复上述操作,或者选择No(否)以完成。
-
查看结果:
a. 查看终端中的符号化调用堆栈。此操作会显示代码中出现崩溃的确切位置。
b. 使用GDB调试会话执行以下操作:
- 检查崩溃点的变量和内存
- 浏览调用堆栈
- 检查程序崩溃时的状态
- 查看ACR摘要: 关闭GDB调试会话后,Vega Studio会生成并打开ACR摘要,其中包含已处理的崩溃信息。
- 出现提示时,选择Browse(浏览)。
- 导航到项目文件夹。
- 选择。
- 添加其他映射(可选): a. 出现提示时,选择Yes(是)以添加更多映射。 b. 选择映射文件位置。 c. 重复上述操作,或者选择No(否)以完成。
- 查看终端中的符号化调用堆栈。此操作会显示出现崩溃的确切JavaScript文件和行号。
- 查看ACR摘要: Vega Studio会自动生成并打开ACR摘要,其中包含已处理的崩溃信息,可以帮助您确定根本原因。
MyComponent.tsx:87)。
如果Vega Studio同时检测到原生代码和JavaScript代码,它会提示您选择要符号化的代码类型。请根据您的选择,按照适用于原生代码或JavaScript代码的步骤操作。
✓ 成功: 终端显示您选择的代码类型的符号化堆栈跟踪。
后续步骤
将ACR符号化之后:- 前往检测应用崩溃的根源以确定崩溃是源于您的代码还是亚马逊代码,然后采取措施。
- 导航到代码中已识别的文件和行号,以实施修复。
- 在与出现崩溃的设备类型相同的设备上运行您的应用,以验证修复情况。
- 部署后检查设备日志,确认崩溃不会再次出现。
故障排除
如果您在分析ACR时遇到问题,请参阅修复崩溃分析问题。相关主题
- 检测应用崩溃的根源
- 利用ACR摘要进行崩溃调试
- AI辅助崩溃分析
- 设置用于AI驱动式开发的Amazon Devices Builder Tools
- 社区:Vega支持的库和服务

