flutter / flutter/devtools

Stack traces are obfuscated

未关闭
#8,627 4 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
dart2wasm P1 product-quality
主要语言
Dart
星标
1.7k
派生
404
平均合并
6 天 17 小时
30 天内合并 PR
18

描述

In https://github.com/Dart-Code/Dart-Code/pull/5367#issuecomment-2532490346 I noted the stack traces for some errors were not very useful because of minification/wasm. After discussing with @kenzieschmoll we believed this might be VS Code-specific so to try and compare I checked what I'm getting outside of DevTools.

I can't repro the same issue, however I can force the kind of error noted at https://github.com/Dart-Code/Dart-Code/issues/5158#issuecomment-2497856004 by just running:

```
dt serve --dtd-uri ws://localhost:1234/invalid
```

When using WASM, this is what I see:

![image](https://github.com/user-attachments/assets/408e70ca-c2fa-4ac8-8cfa-7f0a028164be)

It's not clear to me if this is expected or not. There are some `.dart` files and line numbers in the call stack, but there are also some `main.dart.wasm` with hex offsets and all of the function names are obfuscated.

If I do the same without WASM, the function names are all still obfuscated although the top of the stack has some extra filenames that weren't in the wasm version (for example `logger_helpers.dart:34`).

![image](https://github.com/user-attachments/assets/52a6c6d6-9da9-4c19-92fe-4700a66a6637)

I'm not certain that this is wrong, but the screenshots from @elliette at https://github.com/Dart-Code/Dart-Code/issues/5158#issuecomment-2504607675 seem like they have much better information than here.

贡献指南

打开贡献指南

调研方向

首先使用 `dt serve --dtd-uri ws://localhost:1234/invalid` 重现报告的错误,并比较 WASM 和非 WASM 的堆栈跟踪。阅读链接的 Dart-Code issues 和 pull request,了解预期输出;完成的标准是确定混淆后的名称和偏移量是否符合预期,并在不符合时找出相关差异。

由索引模型根据 Issue 内容生成。

评估

技术栈
dart, wasm
领域
devtools
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。