flutter / flutter/devtools

Suggestion: Show global variables in variable window

Open
#5,295 4 comments 0 reactions 0 assignees View on GitHub
P3 screen: debugger
Dominant language
Dart
Stars
1.7k
Forks
404
Avg merge
6d 17h
Merged PRs (30d)
18

Description

Currently the vm service protocol exposes globals per library in https://github.com/dart-lang/sdk/blob/master/runtime/vm/service/service.md#library

We have an occasional ask from customers for exposing global variables for inspection in dart DevTools. Would it be possible to add them to the variable window (and separate globals and locals into different groups)?

VM service implementations currently support evaluation of globals (that are available in the current scope) in the evaluation box, so it seems feasible to show globals upfront.

Note: might need additional support from implementations of VmServiceInterface. On web platform, for example, globals are lazily in created in JavaScript and will require calling a getter. In this case we could show a `...` next to a global name and call the getter on click.

Contributor guide

Open the contributing guide

Research direction

Start with the VM service protocol's Library section in runtime/vm/service/service.md, then trace the variable window and VmServiceInterface entry points mentioned in the issue. Check how the evaluation box handles globals, including the web platform's lazy getters; done would require an agreed approach for showing globals separately from locals and covering the affected implementations.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.