Now let's look at the different options you have for
debugging the executable. Just as you have two basic ways of
developing (self-hosted and cross-development), you have
similar options for debugging.
The GNU debugger (gdb)
The GNU debugger is a command-line program that provides a very rich set of options.
The process-level debug agent
When a breakpoint is encountered and the process-level debug agent _pdebug_ is in control, the process being debugged and all its threads are stopped. All other processes continue to run and
interrupts remain enabled.