Skip to content

Document the expected format of file path uris when setting breakpoints on Windows #32500

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
DanTup opened this issue Mar 12, 2018 · 3 comments
Closed

Comments

@DanTup
Copy link
Collaborator

DanTup commented Mar 12, 2018

I'm often investigating bugs relating to missed breakpoints on Windows in Dart Code and they're often caused by the format of paths being passed to the VM. Up until today, the format that seemed to work reliably was this:

"/M:/Coding/Applications/Dart-Code/test/test_projects/hello_world/bin/main.dart"

However today when running flutter test I noticed them being missed again. Seems that flutter test wants them in this form:

"uri":"M:\\Coding\\Applications\\Dart-Code\\test\\test_projects\\flutter_hello_world\\test\\hello_test.dart"

I could add this additional format, however since it's not a uri I'm concerned it might start being rejected at some point. I think it should be documented how I should send these (ideally in this doc but even just in this case would be useful) and considered a bug if the VM doesn't handle them.

@rmacnak-google
Copy link
Contributor

The vm-service does not have an opinion on the format of file path URIs. It just looks for a match with some library's URI that was provided by the embedder, so this is likely an issue with the Flutter engine.

@DanTup
Copy link
Collaborator Author

DanTup commented Mar 14, 2018

Gotcha - I've moved this to flutter/flutter#15513 then. Thanks!

@DanTup DanTup closed this as completed Mar 14, 2018
@DanTup
Copy link
Collaborator Author

DanTup commented Apr 4, 2018

@rmacnak-google I think this original request here may still be valid. The fact that flutter test is behaving differently to flutter run and the Dart SDK is because there don't appear to be any documented rules about this. It doesn't make sense for each tool to have its own rules (editors need to know what format to send paths in for breakpoints and for parsing call stacks, etc.) so it seems like the format should be well-defined.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants