rocky edited this page Sep 12, 2012 · 9 revisions

Even from the early days of Perl4 (and before?), Perl has always had a very good and impressive debugger.

But also from the early days I always felt that its command set was a little bit one-off. I don't know of many other debuggers which follow its command set. Not that the Perl debugger command set is arcane. But I had always wished it used and followed the usual set of gdb commands.

As I now look at the code from the vantage point of other debuggers I've written, I think I just might be able to do a little better.

Already here are a couple of cool features that you won't find in perl5db.

  • Stopping on a return and setting the return value (more recent versions of perl5db can print the value at a return).
  • GNU readline command completion of debugger commands.
  • Extensible command sets
  • More modularity and more tests
  • Saving values of prior evaluations in global array @DB::D
  • Debugger Macros written in Perl
  • Specifying the return type in an evaluation
  • Syntax highlighting
  • Context Sensitive command completion
  • Simple evaluation of a line of source code before it gets run
  • Command POD-formatted help available inside the debugger

and of course... gdb-style commands.