flutter / flutter/devtools

devtools_extensions: asyncEval fails on web targets

未关闭
#7,766 19 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug devtools extensions P2
主要语言
Dart
星标
1.7k
派生
404
平均合并
6 天 17 小时
30 天内合并 PR
18

描述

This issue is for devtools_extensions.

`asyncEval` is not working for debug services running for web targets. Other targets (tested on MacOS) work fine.

Whenever I call `asyncEval` on a web target I get the following error:

```
ChromeProxyService: Failed to evaluate expression 'postEvent': InternalError: frontend server failed to compile '() { return
postEvent; }'.
```

A simple eval like this already throws the error:

```dart
final eval = EvalOnDartLibrary(
'dart:core',
serviceManager.service!,
serviceManager: serviceManager,
);

await eval.asyncEval('Future.value(42)', isAlive: isAlive)
```

@kenzieschmoll I encountered this error while working on the [shared_preferences_tools issue.](https://github.com/flutter/flutter/issues/145433#issuecomment-2112842958)

贡献指南

打开贡献指南

调研方向

首先,在 devtools_extensions 中使用报告的 EvalOnDartLibrary 调用针对 Web 目标复现失败,并使用 dart:core 和 Future.value(42)。将其与正常工作的非 Web 目标行为进行比较,并调查 asyncEval 路径和 frontend-server 编译错误。当相同的评估在 Web 目标上成功且不导致其他目标回归时,即视为完成。

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

评估

技术栈
dart
领域
devtools
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

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