I am having problems getting remote debug to work; my first time.
My end goal is to be able to debug Groovy scripts in SoapUI. SoapUI is a Java application that has a built in Groovy interpreter, but not a debugger.
I started with the discussion at www.ibm.com/developerworks/opensource/library/os-eclipse-javadebug.
1. I added the -Xdebug -Xrunjdwp parameters to the SoapUI startup script.
2. I created the Remote Java Application debug configuration in Eclipse.
3. I start SoapUI and see the "Listening for transport ..." message, as expected.
4. I start the debug configuration in Eclipse, and my application starts up.
5. I select a script in SoapUI for which I have a breakpoint set up.
6. When I hit the breakpoint, execution does stop, but I get another panel that simply says: "Source not found." and a button labeled "Edit Source Lookup Path...".
In my project, under Configure Build Path, where I specify the soapui.jar, I also gave it the Source attachment as a folder. In the Eclipse editor I am able to use functions such as "Open Declaration (F3)" and navigate to the correct source.
Any advice where to go from here? What am I missing?
One thing to check is whether the SoapUI classes have been compiled with debugging information or not. If the classes don't have debugging information, you won't be able to use the source to debug the code. You may need to rebuild the jar file yourself with debugging turned on.
So maybe not.
In the Debug pane I can see the entire stack of where the breakpoint stopped the application. I can click on various levels of the stack, and it takes me to the appropriate line of code. UNTIL I click on the topmost level, which is suppose to be my custom script, and that is where it is unable to find the source.
I'm not sure if I am describing clearly what I see ... I could post screenshots, if that would actually help.
Are you saying that the top stack frame is in a Groovy script? If so, then the Java Debugger won't be likely to help you. The Debugger can only show you Java code. It won't be able to figure out the Groovy script.