Skip to content

Latest commit

 

History

History
25 lines (12 loc) · 1.32 KB

debugging.md

File metadata and controls

25 lines (12 loc) · 1.32 KB

Debugging Hints

Pre-requirement:

  1. Build the system with debug symbols (see BUILD_TYPE in MakefileCommon.mk, also see build_instructions).

Debugging on emulators

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).

Disassembly

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.

Console build-in process list

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