flutter / flutter/devtools

The debugger screen should still be available when no compilation service is present

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

描述

When attempting to debug a test in the Flutter engine repo, @dnfield was unable to find the Debugger screen when attaching to the test with DevTools.

**Reproduction steps:**

1: Make a hello_world.dart: void main() { print('hello world'); }
2: dart compile kernel hello_world.dart
3: /path/to/flutter_sdk/bin/cache/artifacts/engine/darwin-x64/flutter_tester --enable-observatory --start-paused hello_world.dill
4: Navigate to printed URL, get error message
5: run dart devtools and input that URL
6: No debugger tab.

@jason-simmons pointed out that this tab is being hidden because the check for whether or not the target application is in debug mode fails due to the absence of a compilation service:

> DevTools is not showing the debugger tab because its check for whether the app is in debug mode is failing.
>
> The check is trying to evaluate an expression in the target VM. But that fails with a No compilation service available; cannot evaluate from source. error.

Typically the Flutter tool registers the compilation service, so it's not available when running tests with `flutter_tester` directly.

The lack of a compilation service shouldn't result in the debugger screen being hidden but should instead only result in functionality requiring expression evaluation being disabled.

FYI @elliette @kenzieschmoll

贡献指南

打开贡献指南

调研方向

按照 hello_world.dart、dart compile kernel、flutter_tester 和 DevTools 的步骤重现该问题,然后跟踪 issue 中所述的 Debugger 标签页可见性检查。当没有编译服务时 Debugger 屏幕仍然可用,同时需要表达式求值的功能被禁用,即表示完成。

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

评估

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

把新 issue 发到你的邮箱

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