?

Log in

No account? Create an account

Tue, Apr. 5th, 2005, 01:20 pm
Devel::ebug

Leon decided that what was needed was new Perl debugger and Lo! Devel::ebug was born. A teensy bit hacky but much better than perl5db.pl was. It claimed to be a "a simple, extensible Perl debugger" but, to be honest, it wasn't very extensible and, given my love of plugins I decided to hack in plugins using, what else, Module::Pluggable.

This required more than a bit of Yak shaving (doesn't it always) some of it wasted because Leon also duplicated bits of my refactor but in the end I got it all working and very nifty it was too.

Bizarrely Devel::ebug doesn't work under 5.8.0 my patches or no - apparently this is a known problem and I can fix bits of it by changing

    use IO::Socket::INET;
    use String::Koremutake;
    use YAML;
    use Module::Pluggable search_path => 'Devel::ebug::Backend::Plugin', 
                          require => 1;

into

    BEGIN {
        require IO::Socket::INET;
        require String::Koremutake;
        require YAML;
        require Module::Pluggable;
        IO::Socket::INET->import;
        String::Koremutake->import;
        YAML->import;
        Module::Pluggable->import( search_path => 'Devel::ebug::Backend::Plugin', 
                                   require => 1 );
        sub DB {};
    };

but the breakpoints stop working and ... bah, I'll let someone else figure it out.