Pre-requirement:
- Build the system with debug symbols (see
BUILD_TYPE
inMakefileCommon.mk
, also see build_instructions).
The VIMIX kernel and user space apps can be debugged when running on qemu or spike, see there for setup details. Debugging on qemu is recommended (faster and more convenient).
Sometimes it can be helpful to look at the generated assembly code. tools/disassemble.sh
is a small wrapper around objdump
for this. It can disassemble starting at an address defined by the ELF file (or functions by name). As binaries are mapped to these locations, program counter addresses (e.g. from exceptions, call stacks) can be used as disassembly starting points to find the source location.
The console captures some key combinations and prints debug output. Press CTRL + H
for a list.
Up: README
build_instructions | debugging | run_on_qemu | run_on_spike | run_on_visionfive2 | overview_directories | architectures | kernel | user space