Repository navigation
Explain unavailable debugging for unattached Flutter apps - #10078
Merged
srawlins merged 1 commit intoNov 9, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces a mechanism to detect when a Flutter debug app fails expression evaluation (which previously caused it to be misidentified as a profile build) and provides guidance to run "flutter attach". It updates the screen visibility check in screen.dart to verify if the debug-only debugAllowBanner service extension is available, adds a new ScreenDisabledReason enum value, includes corresponding unit tests, and updates the release notes. I have no feedback to provide as the implementation is clean and well-tested.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses #4091.
A Flutter debug VM connected without Flutter Tools can fail expression evaluation because no compilation service is available. DevTools then infers profile mode, so a requested Debugger screen says it only supports debug builds even though the app is a debug build.
When the debug-only
ext.flutter.debugAllowBannerextension is registered, show guidance to tryflutter attachand reconnect. Include registered extensions still pending their first frame. Keep the existing explanation for genuine profile builds and keep unsupported screens disabled.This addresses the current disabled-screen explanation. It does not restore expression evaluation; the historical zero-tabs layout was not reproduced on current DevTools.
Testing
dt presubmit --fix: passed with the repository's pinned Flutter SDK.No compilation service available; cannot evaluate from source).Before and after: the disabled-screen component using a real VM connection.
Full app verification:
Pre-launch Checklist
General checklist
///).Issues checklist
contributions-welcomeorgood-first-issuelabel.contributions-welcomeorgood-first-issuelabel. I understand this means my PR might take longer to be reviewed.Tests checklist
AI-tooling checklist
Feature-change checklist
release-notes-not-requiredlabel or left a comment requesting the label be added.packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md.If you need help, consider asking for help on Discord.