
Universal Debugger Interface Specification
3-1
Chapter 3
3
UDI Services
This chapter documents all UDI services. The services are defined in terms of
C language function prototypes, known as the UDI Procedural interface
(UDIP). These prototypes are independent of the underlying Inter–Process
Communication (IPC) mechanisms, which are defined in Chapters 4 and 5. We
recommend you use UDIP for creating DFEs and TIPs rather than using the
IPC mechanisms directly. By using UDIP, a DFE and TIP can be linked
together directly, allowing target–specific versions of debuggers to be created
in special situations (in some environments, this makes debugging the DFE or
TIP easier). Using UDIP also allows some changes to occur in the underlying
IPC mechanisms without causing major problems. Finally, using UDIP
provides a host–independent interface to UDI, thereby allowing one set of
sources to be used on hosts with different IPC mechanisms.
Return Codes
In the following detailed descriptions of the UDI services, the return codes that
are shown at the end of each call are those that are of interest for that call and
do not generally include those return codes that could be returned by any UDI
call. For more information on the meaning of error codes, see “Appendix B:
UDI Error Codes.”
Procedure Names
The procedural interfaces for the following functions changed from UDI 1.3 to
UDI 1.4:
UDISetBreakpoint
,
UDIQueryBreakpoint
, and
UDIConnect
. In
the descriptions of these functions in this chapter, we present both the old and
new procedural interfaces, differentiating them by appending either
_13
or
_14
to the above names. Of course, in the UDI 1.3 procedural interface, these
functions were called simply
UDISetBreakpoint
,
UDIQueryBreakpoint
, and
UDIConnect.