How do I set things up to remote debug just one program when the server executes it?

Question ID : 73
Created on 2009-09-02 at 12:55 PM
Author : Veryant Support [support@veryant.com]

Online URL : http://support.veryant.com/support/phpkb/question.php?ID=73



To run the debugger use the following properties when you start the server (e.g. add the following lines to your ~/iscobol.properties file):
iscobol.rundebug=2
iscobol.debug.port=9999
Then compile the programs without -d except for the one you want to debug. Compile the one you want to debug with -d. 

When isCOBOL hits the program compiled with -d, it will stop and wait for the debugger to connect. At that point you can run the following from Unix (assuming you have your DISPLAY variable set correctly to point to your X server):

java com.iscobol.debugger.GraphDebugger -r localhost -p 9999 

The source code for the program you are debugging must be located in one of the CLASSPATH directories.

Using an X server with the debugger can sometimes be very slow. Another option is to run the debugger locally on your Windows desktop. To do this, copy the source code for the program you want to debug to your local Windows machine and made sure the directory is in your Windows CLASSPATH setting. Then run the following from your Windows machine:

java com.iscobol.debugger.GraphDebugger -r hostname -p 9999 

where hostname is the hostname of your server machine.

The debugger is much more responsive in this mode because it is all running locally except for the network messages that occur when you step through the program.


Back to Original Question