Sdk: Breakpoints don't work in IntelliJ IDEA with Dartium 50

Created on 17 May 2017  路  12Comments  路  Source: dart-lang/sdk

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

P1 area-intellij

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!

All 12 comments

/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 :).
image

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!

Was this page helpful?
0 / 5 - 0 ratings