next up previous contents index
Next: 10.17.2 Using the remote Up: 10.17 Remote Kernel Debugging Previous: 10.17 Remote Kernel Debugging

10.17.1 Organization of remote GDB support code

The GDB remote debugging support provided by the OSKit is broken into two components: the protocol-independent component and the protocol-specific component. The protocol-independent component encapsulates all the processor architecture-specific code to handle processor traps and convert them into the ``signals'' understood by GDB, to convert saved state frames to and from GDB's standard representation for a given architecture, and to perform ``safe'' memory reads and writes on behalf of the remote user so that faulting accesses will terminate cleanly without causing recursive traps.

The protocol-specific component of the toolkit's remote GDB support encapsulates the code necessary to talk to the remote debugger using the appropriate protocol. Although this code is specific to a particular protocol, it is architecture-neutral. The OSKit currently supports only the standard serial-line protocol, although support for other protocols is planned (particularly the remote Ethernet debugging protocol) and should be easy to add.



University of Utah Flux Research Group