Troubleshooting

QEMU shows no output

GDB connects but breakpoints do not hit

Linker errors: missing _start

QEMU exits immediately

Exercises

  1. Intentionally remove -T src/link.ld and observe the error.
  2. Remove src/start.s and identify the missing symbol.
  3. Change -march to rv32i and see if any examples break.

Summary

Most issues are caused by missing the startup file, using the wrong ELF, or forgetting QEMU flags. The fixes are deterministic and easy to confirm with readelf and GDB.