Dynamic Debugging on Enterprise Server

The Dynamic Debugging feature lets you debug mainframe subsystem, native, and .NET applications and services on Enterprise Server from within the Enterprise Developer environment, while the services are running on a local or remote enterprise server. This requires no changes to your program code.

When you debug a project with Dynamic Debugging enabled, you can specify the items to debug. For example, you can specify that you want to debug instances of a given transaction.

When you start a debug session for a project that uses an enterprise server region configured for Dynamic Debugging, you can tell the server that you want to debug any service or application instance that matches criteria that you supply. For example, you can specify that you want to debug instances of a given web service that are started from a particular client machine.

Each time an application or service is started, the enterprise server checks to see if it matches the criteria that you supplied. If it does, the enterprise server attaches it to your debug session. You can then step through the application in the normal way.

Your match criteria can be specific or general. However, we recommend that you are as specific as possible to avoid conflicts with other users. If more than one user specifies details that match a particular service or application instance, the most specific match (that is, the session that provided the most specific information) is attached to the instance.

For example:

  1. USERA specifies CICS transactions started from a particular Terminal ID
  2. USERB specifies CICS transactions started from the same Terminal ID, but also specifies the transaction ID
  3. When a matching CICS transaction is started, the enterprise server attaches USERB's debug session to the CICS transaction

When you specify the match criteria, you are warned if they are similar to those provided by another user. If you specify identical match criteria to those provided by another user, you receive an error message and the criteria are rejected.

Dynamic debugging can be turned on in any of the following ways: