Debugger

You can now conditionally compile in a GDB like command line debugger, that allows you to set breakpoints, step through instructions, and other useful functions. If there isn't a command for something you believe is generally useful for the debugger, let me know and I'll implement it if possible.

To use the debugger, you must configure bochs with the '--enable-debugger' and '--enable-disasm' flags. For example:

  ./configure --enable-debugger --enable-disasm
When you first start up bochs, you will see the command line prompt
  bochs:1>
From here, you may use the following commands:

Execution Control

  c                           Continue executing
  n                           execute current instruction, and diplay next one
  s                           execute current instruction, and diplay next one
  Ctrl-C                      stop execution, and return to command line prompt
  Ctrl-D                      if at empty line on command line, exit

BreakPoints

  NOTE: The format of 'seg', 'off', and 'addr' in these descriptions,
        are as follows.  I don't have any way to set the current radix.

        hexidecimal:    0xcdef0123
        decimal:        123456789
        octal:          01234567

  vbreak seg:off              Set a virtual address instruction breakpoint
  vb     seg:off

  lbreak addr                 Set a linear address instruction breakpoint
  lb     addr

  pbreak addr                 Set a physical address instruction breakpoint
  pb     addr
  break  addr
  b      addr

  info break                  Display state of all current breakpoints
  delete n                    Delete a breakpoint
  del    n
  d      n