38.16.1.4. GDB tests

We have some pexpect automated tests for GDB for both userland and baremetal programs!

Run the userland tests:

./build --all-archs test-gdb && \
./test-gdb --all-archs --all-emulators

Run the baremetal tests instead:

./test-gdb --all-archs --all-emulators --mode baremetal

Sources:

If a test fails, re-run the test commands manually and use --verbose to understand what happened:

./run --arch arm --background --baremetal baremetal/c/add.c --gdb-wait &
./run-gdb --arch arm --baremetal baremetal/c/add.c --verbose -- main

and possibly repeat the GDB steps manually with the usual:

./run-gdb --arch arm --baremetal baremetal/c/add.c --no-continue --verbose

To debug GDB problems on gem5, you might want to enable the following tracing options:

./run \
  --arch arm \
  --baremetal baremetal/c/add.c \
  --gdb-wait \
  --trace GDBRecv,GDBSend \
  --trace-stdout \
;