Setting Up the PeopleCode Debugger
This section discusses how to:
Debug for a two-tier connection.
Debug for a three-tier connection.
Use the PeopleCode Debugger.
Note: PeopleCode debugging is not supported on z/OS.
You can debug the PeopleCode program configurations of a two-tier connection to the database or a three-tier connection to the database.
Note: When you debug PeopleCode with an application server, Application Designer should be run in three-tier mode. PeopleCode debugging by using a two-tier PSIDE and an application server is not supported on multi-homed (multiple Internet Protocol address) workstations.
Debugging for a Two-Tier Connection
Debugging in two-tier connections involves connecting directly to the database, not through the application server. Use this method to debug two-tier Windows applications.
Note: By default, the port number that the PeopleCode debugger uses is 9500. Unless this port number is being used by another application, you do not need to alter any environment settings, and after you sign on to the database, you are able to debug PeopleCode.
If you need to change the PeopleCode Debugger port settings, complete the following procedure.
To change the default PSDBGSRV listener port number:
Open PeopleSoft Configuration Manager.
Select the Trace tab.
Locate the PeopleCode Debugger section, and make sure that the default value for the Local PSDBGSRV Listener Port is suitable for the system.
For example, make sure that no other applications are configured to listen on the default port number (9500). If so, you must assign a port number that is not being used.
Note: If you're using a personal firewall, you must configure it to enable data packets to flow through the PSDBGSRV listener port. If you can't configure your firewall appropriately, you must shut it down while performing PeopleCode debugging.
Debugging for a Three-Tier Connection
Use three-tier debugging to debug three-tier Windows applications and PeopleSoft Internet Architecture (PIA) applications. For three-tier debugging, use PSADMIN to ensure that the following items are set:
The appropriate PSDBGSRV listener port is specified in the PeopleCode Debugger section of PSADMIN.
At least two PSAPPSRV processes are configured to boot in the domain with the service timeout parameter set to zero.
Enter y for yes at the Enable PSDBGSRV Server Process prompt at the end of the PSADMIN interface.
Debugging on a Multi-Homed System
If you're debugging on a multi-homed (multiple IP address) system, you must explicitly specify an IP address in the Workstation Listener section of the PSADMIN configuration, rather than %PS_MACH%. The address you specify must be one by which the application server identifies the machine on which you're doing the debugging. This ensures that the workstation listener monitors requests from the correct location.
Setting the PSDBGSRV Listener Port
In the PeopleCode Debugger section of PSADMIN make sure that the value that is assigned to the PSDBGSRV listener port is not already in use by another application or listener on the application server. The default value is 9500. If the default is not acceptable, assign a suitable value to the parameter. If it is acceptable, no changes are required.
Values for config section - PeopleCode Debugger PSDBGSRV Listener Port=9500 Do you want to change any values (y/n)? [n]:
Consider the following when debugging PeopleCode:
If multiple application server domains are running on a single, physical machine, each domain needs to use different debugging port numbers.
Otherwise, there is contention for the PSDBGSRV listener port value. This is the same principle that requires each application server domain on a server to have unique workstation listener port numbers.
When you are not debugging, turn off (set to 0) the Enable Debugging parameter.
The debugging mode results in an unavoidable amount of overhead, which can degrade performance.
Regarding performance, do not perform debugging on a production domain.
Debugging should be performed on a designated testing domain only.
Enabling Multiple PSAPPSRV Server Processes
The minimum requirements for PeopleCode debugging are:
Two PSAPPSRV server processes are configured to boot in the domain.
The Service Timeout value in the PSAPPSRV configuration section must be set to 0.
For the debugger to work, it has to run in parallel with the application that it's debugging. Suppose that the domain has only one PSAPPSRV server process running. In this case, the PSAPPSRV can process the requests of only one component at a time, and therefore debugging is not possible. Debugging involves two items, the debugger (PSDBGSRV) and the PSAPPSRV server process that is running the application PeopleCode.
Provided that you have two PSAPPSRV server processes configured; one PSAPPSRV handles the debugger program, while the other handles the application that you're stepping through with the debugger. In this case, the two programs run in parallel, which enables interactive debugging.
The configuration templates that PeopleSoft delivers all have at least two PSAPPSRV processes. However, if you are using a custom template, make sure that you configure the domain to start two PSAPPSRV processes prior to debugging. To do this, in PSADMIN set the Min Instances parameter in the PSAPPSRV section to 2.
The following example shows a sample PSAPPSRV section properly configured for debugging PeopleCode:
Values for config section - PSAPPSRV Min Instances=2 Max Instances=2 Service Timeout=0 Recycle Count=0 Allowed Consec Service Failures=0 Max Fetch Size=5000 Do you want to change any values (y/n)? [n]:
When configuring the PeopleCode debugger:
PeopleSoft recommends using the Developer configuration template because this template, by default, provides two PSAPPSRV server processes and has service timeout set to zero.
PeopleSoft recommends using a simple configuration where you are assured that the server that Application Designer connects to is the same server that the application you are debugging is running on.
Note: If you do not set the settings for PSAPPSRV correctly (at least two PSAPPSRV processes), PSADMIN automatically sets these values to comply with the minimum requirements when you enable PeopleCode Debugging (as discussed in the next section).
Note: When you enable the PeopleCode Debugger (PSDBGSRV), service timeout settings for server processes are set to zero (0) by the system, overriding any previous settings you may have made in PSADMIN. For example, if the service timeout settings for the PSAPPSRV service process are set to 300 prior to enabling the debugger, after you enable the debugger, the service timeout value will be zero (0). After using the debugger, you need to reset your service timeout settings to the desired values. Before enabling the debugger, it is recommended that you make a backup of your configuration file or make note of your service timeout settings.
Requesting a PSDBGSRV Server Process
After you specify the settings by using PSADMIN, the system prompts you with a series of options, such as setting up messaging server processes, enabling Jolt, and so on.
When you're prompted to enable the PSDBGSRV, enter y. Y appears in the Developer template by default.
Using the PeopleCode Debugger
After the system is configured properly, using the PeopleCode debugger is just a matter of signing on to the PeopleSoft system and entering the PeopleCode Debugger mode in Application Designer.
Note: You must use a unique user ID when you're performing PeopleCode debugging, as opposed to using a shared user ID, such as those that PeopleSoft delivers, for example QEDMO, PS, or VP1. Shared IDs are likely to be used by others that are connecting to the same test database, which can affect debugging.