
UDI Services Overview
Universal Debugger Interface Specification
2-11
The TIP can present information to and get a response from the user to
determine how to proceed while handling a UDI request. Some parts of a
transparent mode session can be handled by using the
UDIDFEPutOutput
and
UDIDFEGetInput
functions with IOType =
IOTypeTIPxxx. (The section on Transparent mode describes when
UDIDFEPutOutput
and
UDIDFEGetInput
calls are allowed to be used
during transparent mode).
The TIP can feed output from a running target program to the DFE or get
input from the DFE on behalf of a running target program. In this manner,
these calls are an alternative to returning
UDIStdOutReady
or
UDIStdInNeeded
from
UDIWait
and waiting for the DFE to call
UDIGetStdout
,
UDIGetStderr
, or
UDIPutStdin
.
Future Groups
This version of UDI supports basic debugging. Not all of the functionality of
some TIPs will be apparent in the current UDI specification. The IPC
mechanisms defined for each host are designed to support additional services
without invalidating the existing set.
Recommended Usage
The following is an outline of some important sections of code present in most
DFEs. It is intended to help implementors understand the relationship between
various services. (Error handling code is not shown.) The code shown is for a
simple, single–process program debugger.
Startup:
UDIConnect()
UDIWait()
reconnection to
UDICreateProcess()
UDIProcessProcessor,
UDIWrite()/UDICopy()
if
/* Establish connection with the TIP. */
/* See if the connection is a
* a running target. */
/* Simple TIPs return
* but the DFE does not care. */
/* As necessary to download the program,
* required. */
/* At this point control can be given to the user to examine or
* modify memory, set breakpoints, and so on. */