First of all, have you tried using the B<-w> switch?
+
+If you're new to the Perl debugger, you may prefer to read
+L<perldebtut>, which is a tutorial introduction to the debugger .
+
=head1 The Perl Debugger
If you invoke Perl with the B<-d> switch, your script runs under the
Other examples include
- $ PERLDB_OPTS="NonStop frame=2" perl -d myprogram
+ $ PERLDB_OPTS="NonStop LineInfo=listing frame=2" perl -d myprogram
which runs script non-interactively, printing info on each entry
into a subroutine and each executed line into the file named F<listing>.
You did try the B<-w> switch, didn't you?
+L<perldebtut>,
L<perldebguts>,
L<re>,
L<DB>,
-L<Devel::Dprof>,
+L<Devel::DProf>,
L<dprofpp>,
L<Dumpvalue>,
and
that were not compiled by Perl, such as those from C or C++ extensions.
If you alter your @_ arguments in a subroutine (such as with C<shift>
-or C<pop>, the stack backtrace will not show the original values.
+or C<pop>), the stack backtrace will not show the original values.
The debugger does not currently work in conjunction with the B<-W>
command-line switch, because it itself is not free of warnings.