# Perl debugger [![Build Status](https://travis-ci.org/KES777/Devel-DebugHooks.svg?branch=master)](https://travis-ci.org/KES777/Devel-DebugHooks) [![Flattr Button](https://button.flattr.com/flattr-badge-large.png "Flattr This!")](https://flattr.com/submit/auto?fid=6637xn&url=https%3A%2F%2Fgithub.com%2FKES777%2FDevel-DebugHooks) ## How to run: perl -d:DebugHooks::Terminal script.pl ## Debug remotely # FIX harcoded server:port at # Devel::DebugHooks::Server.pm:107 # on remote server with IP 1.2.3.4 perl -d:DebugHooks::Server script.pl # on local dclient.pl 1.2.3.4 9000 # if server on same machine dclient.pl ## Quick guide for commands: s - single step. Trace into n - single step. Trace over r - return from sub. go - run script until the end or next trap go N - run script to 'N' line q - quit debugger R - restart debugging. Works only while remotely debugging script runned under uwsgi f - list all files f regex - list all files that match regex f N - set 'N' file as current l . - list source at current step l - list next source page l $coderef - deparce subroutine l -N - list source for N frame l &N - deparse subroutine for N frame vars - show variables visible from current step vars N - show variables visible from N frame vars N $var - show value from $var variable at N frame t [$x|@x|%x] - trace and log into 'vars.log' access to given variable T - stack trace. T N - show only N last frames NOTICE: stacktrace will shows GOTO!!! frames also b - list all traps b . - set trap at current step b . condition - set conditional trap b [+|-][file:|M:]N - set trap at given file:line + - enable trap - - disable trap file - absolute path to file M - number from 'f' command output N - line number at file save|load - Save/Load info about traps into ~/.dbginit file a expr - set action A expr - remove action w expr - set watch W expr - remove watch expr - evaluate 'expr' from user's script perspective e expr - evaluate 'expr' from user's script perspective and Data::Dump::pp results ge - run editor for current file ge file:N - run editor for given file This module implement for shortcut invader operator `x::x;` this is same as `$DB::single = 1;`