The debugging stub for your architecture supplies these three subroutines:
handle_exceptionto run when your program stops. You must call this subroutine explicitly near the beginning of your program.
handle_exceptionto run when a trap is triggered.
handle_exceptiontakes control when your program stops during execution (for example, on a breakpoint), and mediates communications with GDB on the host machine. This is where the communications protocol is implemented;
handle_exceptionacts as the GDB representative on the target machine; it begins by sending summary information on the state of your program, then continues to execute, retrieving and transmitting any information GDB needs, until you execute a GDB command that makes your program resume; at that point,
handle_exceptionreturns control to your own code on the target machine.
handle_exception---in effect, to GDB. On some machines, simply receiving characters on the serial port may also trigger a trap; again, in that situation, you don't need to call
breakpointfrom your own program--simply running `target remote' from the host GDB session gets control. Call
breakpointif none of these is true, or if you simply want to make certain your program stops at a predetermined point for the start of your debugging session.
Go to the first, previous, next, last section, table of contents.