The debuffer is in no way associated with, endorsed by, or supported by Palm Computing. In other words, if it eats your baby you can't sue them. Or me, for that matter. Legal protections aside, Palm has great developer support and does encourage and support the creation of new development tools for their platform.
Also available, you can have a look at a wordy example-oriented command introduction that includes general sections on PalmOS assembly-level debugging. (Eventually, the general stuff will be extracted to its own file.) When you're ready to get to work, get the concise command summary to keep handy. The summary is duplicated in the on-line help, available through the command "help", if you don't want to waste an entire sheet of paper.
With the exception of the FORTH intro, all the documentation is included in both the source and binary distributions.
Documentation summary:
Getting started with the debuffer is fairly easy. First, of course, you need to get the emulator and some ROMs (preferably the debug ROMs). When you've got all the pieces, start the debuffer and then the emulator. The debuffer will wait for a debug event from the emulator. As soon as you generate a debug event, you'll see a prompt and can dig in. To start the debuffer using the socket interface, start it with the command line "debuffer -s".
Life, as it does, interfered and it took me a good three months to put it together, but it's finally here. (Indeed, it took so long I finally had to change the batteries in my Palm III.) It's still no MacsBug, but it's a reasonably useful little tool.
Perhaps the most important contributor was Bernd Schmidt, author of the original Un*x Amiga Emulator (UAE). Not only did the UAE form the basis of the original Copilot emulator, but his scheme for representing the 68000 instruction set forms the core of the disassembler.
Credit also goes to Greg Hewgill for writing the Copilot emulator and to Darrin Massena for his contributions to the original Copilot debugger. I stole many good ideas from their code.
When Palm took over Copilot and turned it into the Palm OS Emulator, they dropped the integrated debugger in favor of a generalized debugger interface (supporting Metrowerks and GDB, in addition to the debuffer). Palm deserves recognition not only for providing a powerful and flexible interface, but also for providing accurate and useful documentation and source code.
Last, and certainly not least, thanks to John Sadler for writing FICL, an embedded FORTH interpreter. FICL contributes to the debuffer's strongest assest - its scriptability. I've also written a C++ wrapper to FICL which you can get here.