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
=item /pattern/
Search forwards for pattern (a Perl regex); final / is optional.
-The search is case-independent by default.
+The search is case-insensitive by default.
=item ?pattern?
Search backwards for pattern; final ? is optional.
-The search is case-independent by default.
+The search is case-insensitive by default.
=item L
with proper interpretation of exit status or signal and coredump
information.
+=item @ file
+
+Read and execute debugger commands from I<file>. I<file> may itself contain
+C<@> commands.
+
=item H -number
Display last n commands. Only commands longer than one character are
Length to truncate the argument list when the C<frame> option's
bit 4 is set.
+=item C<windowSize>
+
+Change the size of code list window (default is 10 lines).
+
=back
The following options affect what happens with C<V>, C<X>, and C<x>
=head1 Debugging regular expressions
-C<use re 'debug'> enables you to see the gory details of how the
-Perl regular expression engine works. In order to understand this
-typically voluminous output, one must not only have some idea about
-about how regular expression matching works in general, but also
-know how Perl's regular expressions are internally compiled into
-an automaton. These matters are explored in some detail in
+C<use re 'debug'> enables you to see the gory details of how the Perl
+regular expression engine works. In order to understand this typically
+voluminous output, one must not only have some idea about how regular
+expression matching works in general, but also know how Perl's regular
+expressions are internally compiled into an automaton. These matters
+are explored in some detail in
L<perldebguts/"Debugging regular expressions">.
=head1 Debugging memory usage
You did try the B<-w> switch, didn't you?
+L<perldebtut>,
L<perldebguts>,
L<re>,
L<DB>,
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.