
UDI Services Overview
Universal Debugger Interface Specification
2-3
Most debugging occurs in the context of a process. DFEs can create, initialize,
and destroy processes. Processes can be executed and stepped, and breakpoints
can be set within them. The services available to DFEs to control processes
are:
UDICreateProcess
Is called when a DFE starts up a new
connection.
UDICreateProcess
also allows
multi–tasking TIPs to create a new process
context.
UDISetCurrentProcess
Identifies to the TIP which of several possible
processes the rest of the UDI services should
apply against.
UDIDestroyProcess
Indicates that debugging of the current process
is finished.
UDIInitializeProcess
Restarts a process already established. Any
information the TIP maintains about the
process (such as pass counts remaining on
breakpoints) should be re–initialized when this
service is invoked.
UDIExecute
Continues execution of the current process and
returns when execution has been started. (It
does not wait until execution is finished.)
Execution is concurrent with DFE execution.
UDIStep
Executes one or more single steps of the
current process, possibly excluding calls to
other functions and/or traps.
UDIStop
Stops execution of the current process
regardless of where it is.
UDIWait
Is called when the DFE requests the current
state of TIP execution.
UDISetBreakpoint
Establishes a breakpoint in the TIP.
UDIClearBreakpoint
Clears a breakpoint. If Breakpoint ID = 0,
clears all breakpoints.
UDIQueryBreakpoint
Determines the currently active breakpoints.
To provide the broadest possible range of connectivity between various DFEs
and TIPs, UDI defines a specific set of rules for process management.