Chapter 19. Debugging remote programs
159
19.5.3. Putting it all together
In summary, when your program is ready to debug, you must follow these steps.
1. Make sure you have defined the supporting low-level routines (refer to Section 19.5.2
What you
must do for the stub
):
getDebugChar
,
putDebugChar
,
flush_i_cache
,
memset
,
exceptionHandler
.
2. Insert these lines near the top of your program:
set_debug_traps();
breakpoint();
3. For the 680x0 stub only, you need to provide a variable called
exceptionHook
. Normally you
just use:
void (*exceptionHook)() = 0;
but if before calling
set_debug_traps
, you set it to point to a function in your program,
that function is called when
gdb
continues after stopping on a trap (for example, bus error).
The function indicated by
exceptionHook
is called with one parameter: an
int
which is the
exception number.
4. Compile and link together: your program, the gdb debugging stub for your target architecture,
and the supporting subroutines.
5. Make sure you have a serial connection between your target machine and the gdb host, and
identify the serial port on the host.
6. Download your program to your target machine (or get it there by whatever means the manu-
facturer provides), and start it.
7. Start gdb on the host, and connect to the target (refer to Section 19.1
Connecting to a remote
target
).
Содержание ENTERPRISE LINUX 4 - DEVELOPER TOOLS GUIDE
Страница 1: ...Red Hat Enterprise Linux 4 Debugging with gdb ...
Страница 12: ...2 Chapter 1 Debugging with gdb ...
Страница 28: ...18 Chapter 4 Getting In and Out of gdb ...
Страница 34: ...24 Chapter 5 gdb Commands ...
Страница 44: ...34 Chapter 6 Running Programs Under gdb ...
Страница 68: ...58 Chapter 8 Examining the Stack ...
Страница 98: ...88 Chapter 10 Examining Data ...
Страница 112: ...102 Chapter 12 Tracepoints ...
Страница 118: ...108 Chapter 13 Debugging Programs That Use Overlays ...
Страница 138: ...128 Chapter 14 Using gdb with Different Languages ...
Страница 144: ...134 Chapter 15 Examining the Symbol Table ...
Страница 170: ...160 Chapter 19 Debugging remote programs ...
Страница 198: ...188 Chapter 21 Controlling gdb ...
Страница 204: ...194 Chapter 22 Canned Sequences of Commands ...
Страница 206: ...196 Chapter 23 Command Interpreters ...
Страница 216: ...206 Chapter 25 Using gdb under gnu Emacs ...
Страница 296: ...286 Chapter 27 gdb Annotations ...
Страница 300: ...290 Chapter 28 Reporting Bugs in gdb ...
Страница 322: ...312 Chapter 30 Using History Interactively ...
Страница 362: ...352 Appendix D gdb Remote Serial Protocol ...
Страница 380: ...370 Appendix F GNU GENERAL PUBLIC LICENSE ...
Страница 386: ...376 Appendix G GNU Free Documentation License ...
Страница 410: ......