You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart Windows应用如何上传调试符号至Sentry以获取清晰的崩溃堆栈跟踪

Dart Windows应用如何上传调试符号至Sentry以获取清晰的崩溃堆栈跟踪

我完全理解你的困扰——Dart Windows应用在Sentry上的堆栈全是app +0x5a32f7 <unknown>这种模糊地址,和Android端的清晰堆栈比起来实在让人头疼。咱们一步步拆解解决这个问题:

核心问题:你上传的符号格式不对

你提到的app.windows-CONFIG.symbols是Dart虚拟机专属的符号格式,但Sentry的sentry-cli只识别Windows原生调试格式(比如.pdb、.exe、.dll这些)。Dart Windows构建时,除了生成Dart专属的.symbols文件,还会在构建目录里生成原生的调试文件,这些才是Sentry需要的关键文件。


解决步骤:上传原生调试文件

1. 找到Windows构建的原生输出文件

Dart Windows构建完成后,原生调试文件会存放在构建目录的runner子文件夹里,路径大概是:

build/windows/runner/<CONFIG>  # CONFIG替换为你的Release或Debug

这个目录里会有app.exe、app.pdb、flutter_windows.dll等文件,这些就是sentry-cli能识别的调试文件。

2. 方法一:用sentry-cli直接上传原生文件

直接指定原生文件所在目录,sentry-cli会自动扫描并上传所有符合要求的调试文件:

- name: Upload Windows native symbols to Sentry
  shell: bash
  run: |
    sentry-cli debug-files upload --auth-token <AUTH_TOKEN_SENTRY> \
    --org <ORG_SENTRY> \
    --project <PROJECT_SENTRY> \
    --release <RELEASE_SENTRY> \
    build/windows/runner/<CONFIG>  # 替换为你的Release或Debug目录

⚠️ 重要提醒:--release参数必须和你上报崩溃时使用的release名称完全一致,否则Sentry无法关联符号和崩溃事件。

3. 方法二:调整sentry_dart_plugin参数上传原生符号

如果你习惯用sentry_dart_plugin,可以调整参数让它同时处理Dart符号和Windows原生符号:

- name: Upload all symbols via sentry_dart_plugin
  shell: bash
  run: |
    dart run sentry_dart_plugin \
    --sentry-define=ignore_missing=true \
    --sentry-define=release=<RELEASE_SENTRY> \
    --sentry-define=org=<ORG_SENTRY> \
    --sentry-define=project=<PROJECT_SENTRY> \
    --sentry-define=auth_token=<AUTH_TOKEN_SENTRY> \
    --sentry-define=symbols_path=build/windows/runner/<CONFIG> \
    --sentry-define=windows_symbols=true

新增的windows_symbols=true参数会让插件自动识别并上传Windows原生调试文件,无需手动处理。


验证符号是否上传成功

上传完成后,登录Sentry后台,进入你的项目 → 设置 → Debug Files,搜索你的RELEASE_SENTRY名称,确认能看到对应的app.pdb、app.exe等文件,就说明符号上传成功了。

之后再触发Windows端的崩溃,Sentry就能解析出和Android端一样清晰的堆栈信息,比如具体的函数名、文件名和行号。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 08:55:30