A modular, testable debugger in the family of the Ruby "Trepanning" debuggers. The command set is modeled off of gdb, but other command sets are possible.
Features:
- has extensive online-help,
- syntax highlighting of Perl code
- context-sensitive command completion
- out-of-process and remote debugging
- interactive shell support
- code disassembly
- gdb syntax
- easy extensibility at several levels
- command aliases
- a user-supplied command directory
- Perl Plugin module such as Trepan::Devel::Disassemble
- is more modular
- comes with extensive tests
- is not as ugly as perl5db
From a shell:
$ trepan.pl [trepan-opts] [[--] perl-program [perl-program-opts]]
Or for those who prefer the traditional Perlish way:
$ perl -d:Trepan perl-program [perl-program-opts]
Calling the debugger from inside your Perl program using Joshua ben Jore's Enbugger:
# This needs to be done once and could even be in some sort of
# conditional code
require Enbugger; Enbugger->load_debugger( 'trepan' );
# Alternatively, to unconditionally load Enbugger and trepan:
use Enbugger 'trepan';
# work, work, work...
# Oops! there was an error! Enable the debugger now!
Enbugger->stop; # or Enbugger->stop if ...
Or if you just want POSIX-shell-like set -x
line tracing:
$ trepan.pl -x -- perl-program [perl-program-opts]
Inside the debugger tracing is turned on using the command set trace print
.
There is extensive help from the help
command.
To install this Devel::Trepan from source code:
perl Build.PL
make
make test
[sudo] make install
or to install from CPAN:
$ cpanm Devel::Trepan
Copyright (C) 2011, 2012 Rocky Bernstein rocky@cpan.org
This program is distributed WITHOUT ANY WARRANTY, including but not limited to the implied warranties of merchantability or fitness for a particular purpose.
The program is free software. You may distribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation (either version 2 or any later version) and the Perl Artistic License as published by O’Reilly Media, Inc. Please open the files named gpl-2.0.txt and Artistic for a copy of these licenses.