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.