Add --debug-builders
flag
#4243
Merged
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.
With recent changes to the bootstrapping logic, builders have become almost impossible to debug in real projects:
build_runner
itself with--observe
doesn't do much because most of the build happens in a sub-process.stdin
, which is tricky to do when launching it from editors.I've also started a discussion on this: #4242. Originally I wanted to wait for feedback but this turned out to be fairly simple in the end, so here's a PR :)
This adds the
--debug-builders
flag. When set, the subprocess running the build will launch with--observe
and--pause-isolates-on-start
. This makes Dart print out the VM service and devtools URLs, so one can attach a debugger, set breakpoints and then resume the build.I've tested these changes manually, I'm not sure how a good automated test for this could look like. Start a build, assert that a "VM service URL" line is printed on stdout and then kill it?