XDebugSession::setAutoInitBreakpoints removed from EAP 13.1 134.1007

Hello,


It seems that XDebugSession::setAutoInitBreakpoints was removed from the latest EAP and that means that breaks the functionality of a plugin that I'm maintaining.
Is there any new functionality that replaces it?


Thank you!

4 comments
Comment actions Permalink

Turns out it was moved in another place, XDebugProcess::checkCanInitBreakpoints(), in this commit https://github.com/JetBrains/intellij-community/commit/96c0ff9
Could this be reverted or at least provide some deprecation options as maintaining a plugin is a bit hard in this case if APIs break mid-major release.    
Or is there any date when 13.1 will be released so that we can coordinate with our release?


Thank you.

0
Comment actions Permalink

This method was not part of stable API, removed shortly after IDEA 13.0 release. Please see XDebugProcess.checkCanInitBreakpoints();

Why do you need to use this API? What problem do you try to solve?

0
Comment actions Permalink

I'm trying to integrate GDB with IDEA in order to add debug compatibility with the golang plugin ( https://github.com/go-lang-plugin-org/go-lang-idea-plugin/pull/588 ) and I'm using it as seen here: https://github.com/go-lang-plugin-org/go-lang-idea-plugin/blob/debugger/src/uk/co/cwspencer/ideagdb/run/GdbRunner.java#L75
I need it because the plugin was written in such a way that I can't send some custom command, most specifically load the go debug runtime https://github.com/go-lang-plugin-org/go-lang-idea-plugin/blob/debugger/src/uk/co/cwspencer/ideagdb/run/GdbRunner.java#L106 before doing the init of the breakpoints.
I've used a GDB integration by someone else, so changing the whole wai the plugin does things would have been against my time constraints and this proved to be a nice feature.
Integrating the change wouldn't be too much of a hasle but it kinda breaks the plugin if I want to compile / run it against the 13.1 EAP.
What would be the best way to provide the ability to use this without breaking it too much for our users? Do runtime checks if the methods exists or not?

Also I know that the upcoming C++ IDE will have GBD integrated, so is there any place where I could ask for some help, I'm willing to contribute to it so that there's enough extension points to be able to hook it into golang apps? Because I think you will to a much better job that me at doing the GBD output parser (https://github.com/go-lang-plugin-org/go-lang-idea-plugin/blob/debugger/src/uk/co/cwspencer/gdb/gdbmi/GdbMiParser2.java)

Thank you!

0
Comment actions Permalink

API will be restored in the next EAP. (marked as deprecated and removed in IDEA 14), so, you don't need to publish special version for IDEA 13.1 EAP.

Thanks for explanation, this API was introduced to solve exactly the same problem in our JS debugger (chrome/nodejs backend).
But please note — createContentDescriptor executing in the EDT, you should not perform any connection (.m_gdb.sendCommand) in the EDT.  Yes, "debugSession.initBreakpoints();" must be performed in the read action, but you can get "read" lock in any thread.

0

Please sign in to leave a comment.