The debugger screen should still be available when no compilation service is present
- 主要语言
- 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