Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| docs:guide-developer:gdb [2018/08/16 11:03] – [Starting GNU Debugger] karlp | docs:guide-developer:gdb [2023/03/09 10:15] (current) – [GNU Debugger] update GDB documnetation link tatami | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== GNU Debugger ====== | ====== GNU Debugger ====== | ||
| - | * **'' | + | * **'' |
| ===== Compiling Tools ===== | ===== Compiling Tools ===== | ||
| - | in [[docs: | + | in [[docs: |
| - | | Advanced configuration options (for developers) -> Toolchain Options -> Build gdb | | + | |
| and gdbserver | and gdbserver | ||
| - | | Development -> gdbserver | + | |
| ===== Add debugging to a package ===== | ===== Add debugging to a package ===== | ||
| Add CFLAGS to the package Makefile and recompile it. | Add CFLAGS to the package Makefile and recompile it. | ||
| - | | TARGET_CFLAGS += -ggdb3 | + | |
| Alternatively recompile the package with '' | Alternatively recompile the package with '' | ||
| - | | make package/ | + | |
| - | Or you can enable debug info in [[docs: | + | Or you can enable debug info in [[docs: |
| - | | Global build settings > Compile packages with debugging info | | + | Global build settings > Compile packages with debugging info |
| ===== Starting GNU Debugger ===== | ===== Starting GNU Debugger ===== | ||
| Start gdbserver on target (router) | Start gdbserver on target (router) | ||
| - | | gdbserver :9000 /bin/ping example.org | + | |
| Start gdb on host (in compiling tree) | Start gdb on host (in compiling tree) | ||
| - | | ./ | + | |
| now you have a gdb shell. Set breakpoints, | now you have a gdb shell. Set breakpoints, | ||
| - | | (gdb) b source-file.c: | + | |
| - | | (gdb) c | | + | (gdb) c |
| - | | (gdb) bt | | + | (gdb) bt |
| If you want to restart the program, you'll need to set the remote path and arguments | If you want to restart the program, you'll need to set the remote path and arguments | ||
| - | | (gdb) set remote exec-file / | + | |
| - | | (gdb) set args -v -x -merry-fishing | + | (gdb) set args -v -x -merry-fishing |
| - | | (gdb) run | | + | (gdb) run |