Understanding Debug Manager

Debug Manager provides communication-related services to z/OS® Debugger and the remote Eclipse client. It circumvents the need to open outbound ports from z/OS and for users to track their IP address. For differences between usages with and without Debug Manager, see the figures in TCP/IP ports.

Figure 1 shows a schematic overview of how an Eclipse client uses Debug Manager when you debug an application. In a Sysplex environment, Debug Manager instances on different LPARs also maintain a communication with each other to establish connection even in the case when the LPAR that a user is logged on and the LPAR where a debug session has started are different. For more information, see Enabling sysplex support.

Figure 1. Debug Manager
Debug Manager
  1. The client connects to the host by using a z/OS connection in the Remote Systems view.
  2. As part of the logon, Debug Miner registers the user with Debug Manager, which is active within the DBGMGR started task.
  3. When the program to be debugged starts, z/OS Debugger sends the debug request to Debug Manager.
  4. Debug Manager checks whether the debug session user is registered. If the user is not registered at this moment, the debug session goes dormant. z/OS Debugger will wait up to two times of $VALUE. If the user still has not signed on to the z/OS connection in the Remote Systems view and is not registered with Debug Manager, the debug session will time out.
  5. If the user is registered, Debug Manager notifies the Eclipse client that a new debug session is available.
  6. The Eclipse client makes a TCPIP connection to the external Debug Manager port.
  7. Debug Manager passes the TCPIP connection to z/OS Debugger, which allows the user to control the debug session.
For more information about TCPIP and DBMDT options and the user_id option for DBM/DBMDT, see Syntax of the TEST runtime option.