Alexandr Evstigneev
and 1 contributors

NAME

Devel::Camelcadedb - perl side of the perl debugger for IntelliJ IDEA and other JetBrains IDE

DESCRIPTION

This module should be instaleld for debugging using Camelcade plugin for IntelliJ IDEA

TEMPLATE ENGINES INTEGRATION

Debugger has an eval-based template engines support, but it requires some code from the engine side. This allows to set breakpoints in the template file.

To make this work, template engine should invoke debugger's hook immediately after evaling compiled template code, providing template source file path and reference to the hash of lines map template_line => eval_line. Example:

    eval($compiled_template);
    {
        no strict 'refs';
        my $glob = *{'::DB::template_handler'};

        if ($glob && *{$glob}{CODE})
        {
            *{$glob}{CODE}->($filepath, $lines_map);
        }
    }

FUNCTIONS

connect_or_reconnect

    DB::connect_or_reconnect();

Tries to connect to the IDE, use is_connected to check whether the attempt was successful. Most useful when setting $ENV{PERL5_DEBUG_AUTOSTART} to 0 to avoid connecting at program startup.

is_connected

    $is_connected = DB::is_connected();

Checks whether there is an active connection to the IDE.

disconnect

    DB::disconnect();

Disconnects from the IDE.

disable

    DB::disable();

Disables the most expensive debugger hooks, so execution speed is not affacted; the debugger is not functional while disabled, but it can be re-enabled at any time.

enable

    DB::enable();

Re-enables debugging after a diable call.

AUTHORS

2016 Alexandr Evstigneev hurricup@gmail.com