NAME
Devel::PDB - A simple Curses-based Perl Debugger
SYNOPSIS
perl -d:PDB foo.pl
DESCRIPTION
PerlDeBugger is a Curses-based Perl debugger with most of the essential functions such as monitoring windows for paddlist, call stack, custom watch expressions, etc. Suitable for debugging or tracing complicated Perl applications on the spot.
File Help |
a.pl:5 ---------------------------------------------------------------------- |
| use Devel::PDB; | |
| #!/usr/bin/perl | |
| | |
| | |
| my $a = test(); | |
| print "$a\n"; | |
| | |
| sub test { | |
| my $hey = 10; | |
| my $guys_this_is_long = 20; | |
| test2(); | |
| 2; | |
| } | |
| | |
| sub test2 { | |
------------------------------------------------------------------------------ |
Auto -------------------------------- Watch ------------------------------- |
|$a undef ||- no values - | |
| || | |
| || | |
| || | |
-------------------------------------- -------------------------------------- |
FUNCTIONS
PerlDeBugger is still in development stage, not all of the planed functions have been implemented yet. Currently it can:
step-over, step-in, step-out, run
set/remove breakpoint
automatic display of lexical variables
add/remove custom watch expression
show/open compiled files
Stack Trace Window
Immediate Window for executing arbitrary perl statement
KYES BINDING - standart key
- Global
-
- WindowSource - F1
-
Switch to the Source Code Window
- WindowLexical - F2
-
Switch to the Lexical Variable Window
- WindowWatches - F3
-
Switch to the Watch Window
- ViewSTDFile - F4
-
Views STDOUT or STDERR file
- Continue - F5
-
Continue execution
- StepOut - F6
-
Step Out
- StepIn - F7
-
Step In
- SteOver - F8
-
Step Over
- Breakpoint - F9
-
Toggle Breakpoint. Set or remove breakpoint on cursor position.
- Menu - F10
-
Open main - top menu
- FilesCompiled - F11
-
Show 'Compiled Files' Dialog
- FilesOpened - F12
-
Show 'Opened Files' Dialog
- Quit - Ctrl+Q, Ctrl+C
-
Quit the debugger
- BreakpointCode - Ctrl+O
-
Add/Edit/Remove breakpoint with condition on given line. Can be also removed by F9 - Breakpoint
- Refresh - Ctrl+N
-
Refresh all window contents
- WatchExpression - Ctrl+W
-
Add watch expression
- Restart - Ctrl+R
-
Restart program
- RunCommand - Ctrl+P
-
Add commands to runned perl script
- Arguments - Ctrl+A
-
View arguments(parameters) of runned program
- ArgumentsEdit - Ctrl+E
-
Edit arguments(parameters) of runned program
- EnviromentsEdit - Ctrl+M
-
Edit enviroments
- Filebrowser - Ctrl+F
-
Find Perl module and load this module
- WindowStack - Ctrl+T
-
View stack of runned program
- ConfigSave - Ctrl+S
-
Save breakpoints and watches to config file
- ConfigSave - Ctrl+L
-
Load breakpoints and watches from config file
- ViewVariables - Ctrl+U
-
View special variables
- ListBreakpoints - Ctrl+B
-
List all breakpoints in files and position
- ClearBreakpoints -
-
Clear all breakpoints
- ClearWatches -
-
Clear all watches
- ClearAll - Ctrl+X
-
Clear all settings (breakpoints and watches)
- VerticalPartsMin - {
-
Minimized window in vertical size
- VerticalPartsMax - }
-
Maximized window in vertical size
- HorizontalPartsMin - [
-
Minimized window in horizontal size
- HorizontalPartsMax - ]
-
Maximized window in horizontal size
- Source Code Window
- Lexical Variable Window / Watch Window
- Compiled File Dialog / Opened File Dialog
-
- TAB
-
Toggle the focus between the file list and the filter
- ENTER
-
Select the highlighted file or apply the filter to the file list
Config files
Files will be created in directory when program is run . If in enviroment exist PDB_use_HOME
than everything is created into ~/.PDB directory. Every file begin with program name and continue with:
- -conf
-
Configuration files of saved brakpoints and watches
- -[stdout|stderr]
-
Output standart STD files from runned program
- ~/.PDB.keys
-
Configuration files of rebinded keys. For function keys is FX and for Cotrol keys is Control-X. For example keys 'F10' for open Menu and keys 'Ctrl+C','Ctrl+Q','Q' for Quit.
Menu=F10
Quit=Control-C,Control-Q,Q
SEE ALSO
AUTHORS
Ivan Yat-Cheung Wong <email@ivanwong.info>
Igor Bujna <igor.bujna (at) post.cz>
COPYRIGHT AND LICENSE
Copyright (C) 2007 by Ivan Y.C. Wong
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.