IBM i Debugger components

The components of the IBM® i Debugger work together to provide a powerful debugging tool.

IBM i Debugger consists of the following components:

The following descriptions provide only general information about the IBM i Debugger components. To learn more about the components, run IBM i Debugger, and from any Debugger window, click Help.

Debug Manager

Debug Manager registers the client with the Debug Hub, which enables using the graphical debugging mode for the selected systems. A registered client that issues the Start Debugging (STRDBG) CL command from an emulation session starts System Debugger.

Use Debug Manager to manage your debugging operations and connections:

  • Add and remove systems
  • Add and remove users
  • Start debugging operations
  • Start System Debugger and IBM i PASE System Debugger

System Debugger

Use System Debugger to debug programs written in ILE and OPM languages and Java™ that run on the system. You can debug programs that are running in existing jobs on the server or use System Debugger to open and then debug programs in a system batch job.

You can configure System Debugger to start automatically, manually from a workstation command prompt, or by using the Debug Manager interface.

Use System Debugger to perform debugging activities that include:

  • Setting breakpoints
  • Stepping through programs
  • Inspecting variables
  • Examining the callstack
  • Examining memory associated with program variables
  • Examining thread activity

IBM i PASE System Debugger

Use IBM i PASE Debugger to debug programs that run in an IBM i PASE environment. You can debug programs that are running in an existing process on the system or use PASE Debugger to open and then debug a program.

You can start PASE Debugger directly from the command line or by using the Debug Manager interface.

In addition to the debugging activities listed previously for System Debugger, you can use PASE Debugger to perform PASE-specific debugging activities that include:

  • Using the program loadmap to debug
  • Viewing a list of source files and methods
  • Tracking parent and child processes
  • Examining registers

Debug Hub

Debug Hub provides the following functions:

  • Serves as a registry for clients that want to use System Debugger or PASE Debugger
  • Handles incoming requests for starting debug servers

Use the Debug Manager interface to register your client with Debug Hub. Registering a client stores both the user information and the TCP/IP address of the client in the registry. Using the Start Debugging (STRDBG) CL command from an emulation session contacts Debug Hub to see if the user executing the command is registered with Debug Manager. It also checks to see if the command being executed is from the same TCP/IP address as Debug Manager. If these qualifications are met, IBM i Debugger (the graphical application) is started instead of the traditional debug environment.

Debug Hub also serves as a single point of contact for all system debugging applications. When a Debugger component performs a start debug operation, Debug Hub submits a Debug Server job on behalf of the user and passes the associated TCP/IP connection to the job.

Debug Server

Debug Server is a TCP/IP server that is started by the Debug Hub when one of the debuggers issues a request to start debugging. The server job then services the job that is being debugged and issues the appropriate debugging APIs and commands.