devtools_extensions: asyncEval fails on web targets
- 主要言語
- Dart
- スター
- 1.7k
- フォーク
- 404
- 平均マージ
- 6日 17時間
- マージ済み PR(30日)
- 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)
コントリビューションガイド
調査の方向性
まず、dart:core と Future.value(42) を使用し、報告された EvalOnDartLibrary 呼び出しを Web ターゲットに対して実行して、devtools_extensions で失敗を再現します。これを、動作する非 Web ターゲットの挙動と比較し、asyncEval パスと frontend-server のコンパイルエラーを調査します。同じ評価が Web ターゲットで成功し、他のターゲットにリグレッションが発生しなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- dart
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100