Download presentation
Presentation is loading. Please wait.
Published bySheena Doyle Modified over 9 years ago
1
The Perl Debugger Issac Goldstand isaac@cpan.org Mirimar Networks http://www.mirimar.net/
2
Credits / For more info Based loosely on perldebtut Also, don’t forget perldeb Inside the debugger: h h or h [cmd]
3
Before we even get to the debugger… Have you: Turned on warnings via use warnings or perl –w ? Do you use strict wherever possible? Does your script pass syntax checking ( perl –c )?
4
Example 1 – Hello World #!/usr/bin/perl $var1 = ’Hello, world!’; $var2 = “$varl\n”; print $var2;
5
When not to use the debugger Not every case needs the debugger The debugger would not have provided any significant help with the previous example It is important to use other tools to find problems
6
What to use? perl5db.pl – The command line debugger GUI debugger – ptkdb ActiveState – PDK, Komodo
7
Starting the debugger Called by perl –d Can be command line option: perl –d myscript.pl …or part of the shebang line: #!/usr/bin/perl -d
8
The MOST IMPORTANT COMMAND ™
9
q – Quits the debugger
10
The SECOND MOST IMPORTANT COMMAND™
11
h – Displays help
12
The text debugger Other common commands: v [line] – View around line (current line by default) x expr – Evaluates an expression (in list context) m expr – Shows methods that expr->can do s – Step into n – Step over c line – Set a “one time” breakpoint
13
Working with variables & symbols M shows currently loaded modules + versions S shows currently available subroutines X / V shows variables in [current] package
14
Looking around v – Shows a “block” of code, starting from current position l – shows a single line of code, starting from current position Either command takes an optional parameter of a line number . resets the line position to the current line
15
Practical use Normal “command line” scripts CGI scripts via –debug pragma or command arguments mod_perl via Apache::DB Not helpful for XSUB debugging
16
GUIs ptkdb IDEs ActiveState PDK I’ve personally found the PDK to be very weak (while somewhat simpler to navigate, set breakpoints, etc)
17
Komodo ActiveState’s opensource-language IDE Costs $$$ New version 3.0 just released with very complete GUI debug tools Includes supports for watches, conditional breakpoints, immediate pane, etc Includes support for simulating full CGI environment
18
The End Issac Goldstand Mirimar Networks http://www.mirimar.net/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.