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