
UDI Services Overview
2-6
Universal Debugger Interface Specification
The programmed I/O functions are:
UDIGetStdout
Is invoked when
UDIWait
returns and indicates
that access to stdout is needed. The DFE then
performs I/O for the TIP.
UDIGetStderr
Is invoked when
UDIWait
returns and indicates
that access to stderr is needed. The DFE then
performs I/O for the TIP.
UDIPutStdin
Is invoked when
UDIWait
returns and indicates
that access to stdin is needed. The DFE then
performs I/O for the TIP.
UDIStdinMode
Changes the mode by which characters are fetched
from the user.
When
UDIWait
returns, it may indicate that access to standard input, standard
output, or standard error is needed. The DFE then invokes the appropriate UDI
service and performs the I/O for the TIP. Once the I/O is completed, the TIP
automatically continues execution (if it has stopped) and the DFE should again
call
UDIWait
.
UDIStdinMode
changes the mode by which characters are fetched from the
user. Echoed and non–echoed input are supported. Line buffered and
unbuffered input are also supported. In the absence of a TIP requesting a
change, (which can occur only through
UDIWait
), the mode of input reverts to
line buffered and echoed each time
UDIInitializeProcess
is called.
Since programmed I/O provides support for standard I/O services, I/O
redirection can be performed by the DFE. Note, however, that this does not
prevent the TIP from performing I/O redirection. In general, a DFE should
support redirection through its user interface, rather than by interpreting the
command line of the program being debugged. This helps avoid placing
unexpected constraints on the command line of a target operating system.
Transparent Mode
This group of services allows DFEs and TIPs to support more functionality
than the other groups of services provide. For example, if a target supports
profiling in one of its many forms, none of which are directly supported by
other UDI service groups, transparent mode can be used for communication.