How do I debug just one program in Application Server environment?


Compile the programs without -d or -dx except for the one you want to debug.
Compile the one you want to debug with -d or -dx.

Run your program with the -d switch

   iscclient -d PROG1
Both your application and the debugger will run, but you won't see any code in the debugger, and control won't pass to the debugger.
Run through your application to the program you want to debug. When the runtime starts the program that was compiled with the -d or -dx, it will pass control to the debugger, and you'll be able to step through your code.

DEFAULT DEBUG PORTS SPECIFIED WITH SERVER STARTUP
The default debug ports are 9999 through 10099. Each debug session started will take the next available port. If you have two instances of the Application server running, or if those ports are unavailable, you can change the defaults by setting the "iscobol.as.debugport_range" in the server's properties file, either listing the debug ports:

   iscobol.as.debugport_range= 9991,9993,9994
Or specifying the range by using minimum and maximum port number:
   iscobol.as.debugport_range=9991-9994

DEBUG PORTS SPECIFIED IN CLIENT COMMAND If you want to specify a specific port when you run isclient, you can do this with the -debugport option.
Here's an example that specifies port 9090 as the debug port:

   iscclient -debugport 9090 -d PROG1

THE EFFECT OF MULTITASKING SETTING
The options above are affected by the value of iscobol.as.multitasking.

iscobol.as.multitasking=2
The default is 2, which creates two processes, one for clients that connect without the -d and one for clients that use the -d.
This is best for production environments and will allow you to debug without blocking the users. You can use both "iscobol.as.debugport_range" and "-debugport" options listed above

iscobol.as.multitasking=1
Option 1 creates a separate JVM process for every client, which can cause memory or space problems on a server used for production. You can use both "iscobol.as.debugport_range" and "-debugport" options listed above

iscobol.as.multitasking=0
Option 0 creates a new thread in the current JVM for every client. "iscobol.as.debugport_range" has no effect with this setting of multitasking and you must use the -debugport option if you want to use a port other than the default 9999.



Article ID: 73
Created: September 2, 2009
Last Updated: May 12, 2022
Author: Support KB Author

Online URL: https://support.veryant.com/phpkb/article.php?id=73