Perl debugger plugins with DB::Pluggable

hanekomu on 2008-04-17T20:45:59

I've released DB-Pluggable which adds plugin support to the debugger. There are quite a few good ~/.perldb ideas around, but they're not easy to combine because they often overwrite the same DB::* functions. This distribution tries to remedy this by moving functionality to plugins.

    $ cat ~/.perldb

    use DB::Pluggable;
    use YAML;

    $DB::PluginHandler = DB::Pluggable->new(config => Load <run;

    $ perl -d foo.pl

    Loading DB routines from perl5db.pl version 1.28
    Editor support available.

    Enter h or `h h' for help, or `man perldebug' for more help.

    1..9
    ...
      DB<1> b #5
      DB<2> r

DB-Pluggable was inspired by Andy Armstrong's journal entry about a debugger command that adds breakpoints for specific Test::Builder-based tests.

This distribution is very much in beta, so it's more like a proof of concept. Therefore, not all hooks imaginable have been added, only the ones to make this demo work. If you want more hooks or if the current hooks don't work for you, let me know.


Dumping

daxim on 2008-04-17T23:20:35

I want an x command that uses Data::Dump::Streamer::DumpLex() instead of whatever terrible thing it is using by default. It would be really nice if ptkdb would pick that up automatically, too.

Re:Dumping

Aristotle on 2008-04-18T13:10:18

The thing it uses by default is Dumpvalue, and it’s really not so terrible! It isn’t Perl syntax, that’s true, but it’s very short and concise. It is especially good for eyeballing patterns in large amounts of data – far better than any of the dumpers.