Author Topic: Couldn't set breakpoints - JDWP 113 error  (Read 1272 times)

xotrox

  • Junior Community Member
  • Posts: 5
  • Hero Points: 0
Couldn't set breakpoints - JDWP 113 error
« on: January 25, 2020, 07:34:49 AM »
Hi,
I code in Scala and Java and look for IDE alternative to mainstream one.
I test web groovy/grails app, which is commercial project of my client, with the latest SlickEditPro. I would like to debug one method from controller but when the SlickEdit was in debug mode I couldn't enable breakpoints.
I checked two ways of setting breakpoints:
1 - enable breakpoints in editor mode and then run debug mode (breakpoints were enabled, I couldn't add new one, application didn't stop on enabled breakpoints),
2 - run debug mode, I couldn't enable breakpoints for some methods (for those I wanted to check especially) but for some I could (less important for me).

Steps to debug application:
1 - run application in debug mode grails -debug run-app (application works fine in browser)
2 - in SlickEdit attach JVM debuger to localhost, default port 5005

Error from debug log:
JDWP send:    command_set=EventRequest(15)
JDWP send:    command=Set(1)
JDWP receive(raw):    status=0
JDWP receive(raw):    bytes expected=7
JDWP receive(raw):    bytes received=7
JDWP receive reply:    status=0
JDWP receive reply:    packet_size=11
JDWP receive reply:    error_code=113
JDWP event request: eventKind=2

Environment:
Fedora
Java: java-se-7u75-ri
Grails 2.2.4

I also checked it in other IDE and it works.

I kindly ask for any clue.
Thank you.

xotrox

  • Junior Community Member
  • Posts: 5
  • Hero Points: 0
Re: Couldn't set breakpoints - JDWP 113 error
« Reply #1 on: February 01, 2020, 06:13:04 PM »
Hi, I think that I found reason why it's not possible to set breakpoints.
For groovy application, it is quite strange why not all methods are shown in Defs tab (*.groovy file).
Steps:
1) I have controller file with different types of method definition, all filters are enabled:
a) def method1() {...}
b) String method2() {...}
c) def method3 = {...}

Method1, method2 is presented in Defs as a function.
Method3 is marked as a member variable - it has local variables in Defs shown. It is ok I think.
Debugg of method1, method2 is smooth.
Method3 is not able to debug.

And now the most interesting part:
when I change def method3 = {...} to e.g. def method3() {...} it doesn't show in Defs.
There is no new name of this method but local variables still are. I re-tag everything, delete tags file etc. even with re-import project files. This method is not shown in Defs.
Although, when I add the same method3() again (now I have two methods method3()) the newest is visible in Defs.
Now I try to copy everything from old method to new one and delete the old, but ... the new one disappears. To sum up there is no reference for it - it can't be found when slickedit searches references, it can't be debugged.   

[EDIT]
I found root of the issue. Context tag doesn't recognize this way of usage ternary operator:
valueAbc ?: imReallyFalse. But when it is written like this: valueAbc ?imTrue : imReallyFalse method jumps to Defs tab. Is it Context tag issue?

   
« Last Edit: February 01, 2020, 07:31:56 PM by xotrox »

patrick

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 1818
  • Hero Points: 151
Re: Couldn't set breakpoints - JDWP 113 error
« Reply #2 on: February 03, 2020, 02:36:34 PM »
You're right, the parser isn't recognizing ?:   

I'll take a look at it, I expect it won't be hot-fixable, but will need to wait for the next point/major release.