Palm Debuffer Command Summary For more detail, see http://www.pagesz.net/~sessoms/debuffer/commands.html Quitting -------- Type "bye" (no quotes) to exit. If you do not have a prompt because the debugger is waiting for a debug event, hit "Ctrl+C". Syntax ------ The arguments to each command are specified in the stack-effect comment immediately following the command. Since the Debuffer command language is FORTH, type the arguments first (in the order listed) before the command word. For example, to disassemble the next 10 commands at the current program counter, type "pc @ 10 dis". Registers --------- .regs ( -- ) Print all registers. DragonBall registers are mapped to FORTH variables in the debuffer. Access each using the register name: d0, d1, d2, d3, d4, d5, d6, d7, a0, a1, a2, a3, a4, a5, a6, usp, ssp, pc, and sr. fp is an alias for a6. All registers except sr are 32-bits. sr is 16-bits. Examining and Modifying Memory ------------------------------ @byte ( addr -- n ) Fetch the 8-bit value at the given address. @word ( addr -- n ) Fetch the 16-bit value at the given address. @long ( addr -- n ) Fetch the 32-bit value at the given address. !byte ( byte addr -- ) Store the 8-bit value to the given address. !word ( word addr -- ) Store the 16-bit value to the given address. !long ( long addr -- ) Store the 32-bit value to the given address. da ( addr count -- ) Dump ASCII. db ( addr count -- ) Dump bytes. dd ( addr count -- ) Dump double-words (longs). dw ( addr count -- ) Dump words. dis ( addr count -- ) Disassemble count instructions at the given address. Breakpoints ----------- bc ( bpid -- ) Clear breakpoint. bd ( bpid -- ) Disable breakpoint. be ( bpid -- ) Enable breakpoint. bl ( -- ) List breakpoints. bp ( addr -- ) Set a breakpoint. bp takes an optional string argument to execute when the breakpoint is hit. Controlling Execution --------------------- go ( -- ) Resume execution. next ( -- ) Step to the next instruction, over branches. nospy ( -- ) Remove any installed step-spy. out ( -- ) Step out of the current routine. spy ( addr value -- ) Install a step-spy for *addr == value. step ( -- ) Step to the next instruction, into branches. to ( addr -- ) Run to the specified address. wait ( -- ) Wait for something to happen. Miscellaneous ------------- bt ( -- ) Backtrace. ln ( addr -- ) Lookup the name for the given address.