Familiarity with your environment is crucial for productive development and debugging. This page gives a brief overview of the JOS environment and useful GDB and QEMU commands. Don't take our word for it, though. Read the GDB and QEMU manuals. These are powerful tools that are worth knowing how to use.
Reference: | GDB |
---|
All of the tools that you need to execute and complete the labs are installed in your course virtual machine. Details TBA.
If you wish to compile and run the tools on your own machine, t any standard Linux development environment should work. Note that we cannot guarantee that these tools will run on your computer, and we cannot support these tools on your own computer.
See the GDB manual for a full guide to GDB commands. Here are some particularly useful commands for 306, some of which don't typically come up outside of OS development.
Ctrl-c
.eip
,
eflags
, and the segment selectors. For a much more
thorough dump of the machine register state, see QEMU's own info
registers
command.$eip
as addr will display the
instructions at the current instruction pointer.obj/kern/kernel
. If the machine is running user code, say
hello.c
, you can switch to the hello symbol file using
symbol-file obj/user/hello
.Last updated: 2025-05-05 08:50:20 -0400 [validate xhtml]