Simon Wistow (deflatermouse) wrote,
Simon Wistow
deflatermouse

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.

Tags: apparently, bah, devel, hack, honest, leon, love, nifty, patches, perl debugger, plugins, shaving, wasted, yak
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments