The
e
ugger (henceforth gdb, see
gdb home site) is a ``free'' debugger
that works very well with gcc and many other free implementations of
programming languages. You can get gdb and gcc
for pretty much any
operating systems, including all 32-bit Windows©operating systems
(Win95, Win98, WinMe, WinNT4, Win2000 and WinXP) as well as all
Unix flavor operating systems (Linux, FreeBSD, SunOS,...). gdb is
very useful to debug programs that runs on the same platform that hosts
the development tools (such as gcc, gdb and many other
programs).
If the target (machine to run the program to be debugged) is different from the host (machine to run the programming tools), gdb needs some help. Some of you may immediately ask ``why don't we make the target also the host?'' Well, that would be ideal. Unfornately, the target may have very little resources to run a compiler, let alone a complete operating system!
Fortunately, gdb does come with an interface that allows a fully
equipped host to debug a program running on a minimalist target. The
interface is called the emote-
erial-
rotocol (henceforth
rsp). This is a protocol that specifies all the commands and
responses for a host to control the execution of a program on a target.
This is great, so why do we need this program called gdb-rsp-mon?
Although gdb is prepared to communicate with a target machine via rsp, processors do not understand packets of rsp received at the serial port and other communication devices. A very small program called a monitor needs to run on the target to interpret the meanings of the rsp packets. This is exactly what gdb-rsp-mon is: a monitor to interpret the remote serial protocol!