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 View Execution Breakpoint Settings 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 currently can:
step-over, step-in, step-out, run
set/remove breakpoint
Evaluate 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
Other functionalities
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
- Export - Ctrl+Y
-
Export information to file from actual source and stack variables or watches
- 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
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
- ~/.PDB.colours
-
Configuration of own colours as defined in Curses::UI::Color. Each line has one definition, where frst is key and second is colour with space separattor.
For example set general foreground and background color as RED on WHITE:
-fg red -bg white
SEE ALSO
AUTHORS
Ivan Yat-Cheung Wong <email (at) ivanwong.info>
Igor Bujna <igor.bujna (at) post.cz>
COPYRIGHT AND LICENSE
Copyright (C) 2007 by Ivan Y.C. Wong, Igor Bujna
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.