Execution doesn't halt on breakpoints in web applications (works fine on console apps)
Dart VM version: 1.24.0-edge.ca3d90c4cd7155709a7836d0830b1f712925a8cd (Thu May 11 19:41:00 2017) on "linux_x64"
Tested with 2017.2 EAP and 2017.1.3 EAP
Related to #28280
/cc @jwren
/cc @jacob314
@zoechi, is this just when used from IntelliJ, or does it show up in devtools as well?
@davon I haven't tried with devtools.
I also since moved away from Linux to Mac and away from bleeding-edge to dev.
/cc @terrylucas
If it helps, attached is a minimal project to reproduce. The project also contains logs of IDE<->Dartium communication both for Dartium 1.23.0 (successful debugging) and 1.24.0-dev.6.0 (no success). The biggest difference I see is that Dartium 1.23.0 sends "Debugger.scriptParsed" events, but Dartium 1.24.0-dev.6.0 sends "Debugger.scriptFailedToParse" instead.
Hint: to get a nice files comparison select 2 files in the Project View and right-click -> Compare Files :).

This issue looks like a 1.24 blocker. I'm adding area-dartium tag.
If you think it is an IDE-level problem please let me know. But so far it looks more like a Dartium problem caused by Dartium sending "Debugger.scriptFailedToParse" events instead of "Debugger.scriptParsed".
Not sure who's the right person to ask. @jacob314? @terrylucas? I need to make sure no actions at the IDE end required.
Thanks for taking a look!
@terrylucas, I'm tentatively assigning this issue to you - please re-assign if appropriate.
alexander-doroshko I have a build of dartium with output to stdout how can I capture/see that information? Webstorm has started my version of dartium (short of me logging to a file).
Help -> Find Action, type Registry, open it, search for js.debugger.wip.log property, set it to some log file path like /foo/bar/log.json. This file will be rewritten on each debug session.
Found the problem in DartInspectorDebuggerAgent::didParseSource the parameters to this function changed in a flipped way.
Dartium 45: (const String& scriptId, const Script& parsedScript, CompileResult compileResult)
Dartium 50: (const String& scriptId, const Script& parsedScript, bool success)
The problem is that CompileResult was an enum
enum CompileResult { CompileSuccess, CompileError };
Unfortunately, 0 == CompileSuccess and 1 == CompileError Ugh!
Fixed by CL https://codereview.chromium.org/2915643002, rolled in DEPS by https://github.com/dart-lang/sdk/commit/b987a126c541590cd201d54bc1002dd603cc86af
Fix is landed in both 1.24 and 1.25 branches.
Most helpful comment
Found the problem in DartInspectorDebuggerAgent::didParseSource the parameters to this function changed in a flipped way.
Dartium 45: (const String& scriptId, const Script& parsedScript, CompileResult compileResult)
Dartium 50: (const String& scriptId, const Script& parsedScript, bool success)
The problem is that CompileResult was an enum
enum CompileResult { CompileSuccess, CompileError };
Unfortunately, 0 == CompileSuccess and 1 == CompileError Ugh!