
UDI Services Overview
2-2
Universal Debugger Interface Specification
Services in this group and their functions are:
UDIConnect
Establishes initial connection.
UDIDisconnect
Tears down a connection and frees the TIP.
UDISetCurrentConnection
Used only by DFEs to identify multiple
connections. All other UDI services are
performed against the currently connected
TIP.
UDICapabilities
Provides information between the DFE and
the TIP.
UDIEnumerateTIPs
Used by DFEs to obtain a list of TIPs from the
TIP ID file to present to the user.
TIP configuration issues such as the name of the TIP program and TIP startup
parameters are specified in the configuration string passed to
UDIConnect
by
the DFE. The interpretation of the configuration string is specific to a
particular IPC method.
Process Management
Process management in UDI accommodates a wide range of DFE and TIP
design goals. Some TIPs are best thought of as raw machine debuggers,
providing complete access to all of the target’s resources. Simulators and
emulators are typically raw machine debuggers. Other TIPs provide access
only to resources created explicitly for a process or distinguish between raw
mode and a program debug mode via some other means. Similarly, some DFEs
are designed to be raw machine debuggers and others are better thought of as
program debuggers.
UDI uses the services in this section to allow access to either a single process
or to the raw machine. The distinction is made by the value of the current
process. When the current process is the special value,
UDIProcessProcessor
,
then the resources accessed will be those of the raw machine. Note also that a
UDIInitializeProcess
request, when the current process is
UDIProcessProcessor
, is a request to reset the entire target system (or come
as close as possible to a reset). Whether the TIP allows access to the raw
machine is, of course, something the TIP decides.