[inseparable changes from patch from perl5.003_22 to perl5.003_23]
[p5sagit/p5-mst-13.2.git] / pod / perldebug.pod
index 8e595f5..0c61b74 100644 (file)
@@ -113,9 +113,9 @@ supplied that includes function calls, it too will be single-stepped.
 =item n [expr]
 
 Next.  Executes over subroutine calls, until it reaches the beginning
-of the next statement. If an expression is
-supplied that includes function calls, it too will be executed with
-stops before each statement.
+of the next statement.  If an expression is supplied that includes
+function calls, those functions will be executed with stops before
+each statement.
 
 =item E<lt>CRE<gt>
 
@@ -136,7 +136,7 @@ List C<incr+1> lines starting at C<min>.
 
 =item l min-max
 
-List lines C<min> through C<max>. C<l -> is synonymous to C<->.
+List lines C<min> through C<max>.  C<l -> is synonymous to C<->.
 
 =item l line
 
@@ -161,7 +161,7 @@ print it out.
 
 =item f filename
 
-Switch to viewing a different file or eval statement. If C<filename>
+Switch to viewing a different file or eval statement.  If C<filename>
 is not a full filename as found in values of %INC, it is considered as
 a regexp.
 
@@ -244,7 +244,7 @@ Set breakpoint at first line of subroutine after it is compiled.
 
 =item b load filename
 
-Set breakpoint at the first executed line of the file. Filename should
+Set breakpoint at the first executed line of the file.  Filename should
 be a full name as found in values of %INC.
 
 =item b compile subname
@@ -305,12 +305,12 @@ Run Tk while prompting (with ReadLine).
 
 =item C<signalLevel>, C<warnLevel>, C<dieLevel>
 
-Level of verbosity. By default the debugger is in a sane verbose mode,
+Level of verbosity.  By default the debugger is in a sane verbose mode,
 thus it will print backtraces on all the warnings and die-messages
 which are going to be printed out, and will print a message when
 interesting uncaught signals arrive. 
 
-To disable this behaviour, set these values to 0. If C<dieLevel> is 2,
+To disable this behaviour, set these values to 0.  If C<dieLevel> is 2,
 then the messages which will be caught by surrounding C<eval> are also
 printed.
 
@@ -339,8 +339,8 @@ C<frame & 2> is false, messages are printed on entry only. (Printing
 on exit may be useful if inter(di)spersed with other messages.)
 
 If C<frame & 4>, arguments to functions are printed as well as the
-context and caller info. If C<frame & 8>, overloaded C<stringify> and
-C<tie>d C<FETCH> are enabled on the printed arguments. The length at
+context and caller info.  If C<frame & 8>, overloaded C<stringify> and
+C<tie>d C<FETCH> are enabled on the printed arguments.  The length at
 which the argument list is truncated is governed by the next option:
 
 =item C<maxTraceLen>
@@ -361,7 +361,7 @@ Print only first N elements ('' for all).
 
 =item C<compactDump>, C<veryCompact>
 
-Change style of array and hash dump. If C<compactDump>, short array
+Change style of array and hash dump.  If C<compactDump>, short array
 may be printed on one line.
 
 =item C<globPrint>
@@ -378,14 +378,14 @@ Dump symbol tables of packages.
 
 =item C<quote>, C<HighBit>, C<undefPrint>
 
-Change style of string dump. Default value of C<quote> is C<auto>, one
+Change style of string dump.  Default value of C<quote> is C<auto>, one
 can enable either double-quotish dump, or single-quotish by setting it
-to C<"> or C<'>. By default, characters with high bit set are printed
+to C<"> or C<'>.  By default, characters with high bit set are printed
 I<as is>.
 
 =item C<UsageOnly> 
 
-I<very> rudimentally per-package memory usage dump. Calculates total
+I<very> rudimentally per-package memory usage dump.  Calculates total
 size of strings in variables in the package.
 
 =back
@@ -410,7 +410,7 @@ The TTY to use for debugging I/O.
 
 =item C<noTTY>
 
-If set, goes in C<NonStop> mode, and would not connect to a TTY. If
+If set, goes in C<NonStop> mode, and would not connect to a TTY.  If
 interrupt (or if control goes to debugger via explicit setting of
 $DB::signal or $DB::single from the Perl script), connects to a TTY
 specified by the C<TTY> option at startup, or to a TTY found at
@@ -418,7 +418,7 @@ runtime using C<Term::Rendezvous> module of your choice.
 
 This module should implement a method C<new> which returns an object
 with two methods: C<IN> and C<OUT>, returning two filehandles to use
-for debugging input and output correspondingly. Method C<new> may
+for debugging input and output correspondingly.  Method C<new> may
 inspect an argument which is a value of C<$ENV{PERLDB_NOTTY}> at
 startup, or is C<"/tmp/perldbtty$$"> otherwise.
 
@@ -440,7 +440,7 @@ Here's an example of using the C<$ENV{PERLDB_OPTS}> variable:
 
 will run the script C<myprogram> without human intervention, printing
 out the call tree with entry and exit points.  Note that C<N f=2> is
-equivalent to C<NonStop=1 frame=2>. Note also that at the moment when
+equivalent to C<NonStop=1 frame=2>.  Note also that at the moment when
 this documentation was written all the options to the debugger could
 be uniquely abbreviated by the first letter (with exception of
 C<Dump*> options).
@@ -458,7 +458,7 @@ interrupt it, you would better reset C<LineInfo> to something
   $ env "PERLDB_OPTS=R=0 TTY=/dev/ttyc" perl -d myprogram
 
 may be useful for debugging a program which uses C<Term::ReadLine>
-itself. Do not forget detach shell from the TTY in the window which
+itself.  Do not forget detach shell from the TTY in the window which
 corresponds to F</dev/ttyc>, say, by issuing a command like
 
   $ sleep 1000000
@@ -531,7 +531,7 @@ Quit.  ("quit" doesn't work for this.)  This is the only supported way
 to exit the debugger, though typing C<exit> twice may do it too.
 
 Set an C<O>ption C<inhibit_exit> to 0 if you want to be able to I<step
-off> the end the script. You may also need to set C<$finished> to 0 at
+off> the end the script.  You may also need to set C<$finished> to 0 at
 some moment if you want to step through global destruction.
 
 =item R
@@ -815,13 +815,13 @@ breakpoint on I<load> of some module thusly
     DB<7> b load f:/perllib/lib/Carp.pm
   Will stop on load of `f:/perllib/lib/Carp.pm'.
 
-and restart debugger by C<R> command (if possible). One can use C<b
+and restart debugger by C<R> command (if possible).  One can use C<b
 compile subname> for the same purpose.
 
 =head2 Debugger Customization
 
 Most probably you not want to modify the debugger, it contains enough
-hooks to satisfy most needs. You may change the behaviour of debugger
+hooks to satisfy most needs.  You may change the behaviour of debugger
 from the debugger itself, using C<O>ptions, from the command line via
 C<PERLDB_OPTS> environment variable, and from I<customization files>.
 
@@ -838,10 +838,10 @@ One changes options from F<.perldb> file via calls like this one;
 
     parse_options("NonStop=1 LineInfo=db.out AutoTrace=1 frame=2");
 
-(the code is executed in the package C<DB>). Note that F<.perldb> is
-processed before processing C<PERLDB_OPTS>. If F<.perldb> defines the
+(the code is executed in the package C<DB>).  Note that F<.perldb> is
+processed before processing C<PERLDB_OPTS>.  If F<.perldb> defines the
 subroutine C<afterinit>, it is called after all the debugger
-initialization ends. F<.perldb> may be contained in the current
+initialization ends.  F<.perldb> may be contained in the current
 directory, or in the C<LOGDIR>/C<HOME> directory.
 
 If you want to modify the debugger, copy F<perl5db.pl> from the Perl
@@ -919,48 +919,48 @@ application.
 =item *
 
 The array C<@{"_<$filename"}> is the line-by-line contents of
-$filename for all the compiled files. Same for C<eval>ed strings which
-contain subroutines, or which are currently executed. The C<$filename>
+$filename for all the compiled files.  Same for C<eval>ed strings which
+contain subroutines, or which are currently executed.  The C<$filename>
 for C<eval>ed strings looks like C<(eval 34)>.
 
 =item *
 
 The hash C<%{"_<$filename"}> contains breakpoints and action (it is
 keyed by line number), and individual entries are settable (as opposed
-to the whole hash). Only true/false is important to Perl, though the
+to the whole hash).  Only true/false is important to Perl, though the
 values used by F<perl5db.pl> have the form
-C<"$break_condition\0$action">. Values are magical in numeric context:
+C<"$break_condition\0$action">.  Values are magical in numeric context:
 they are zeros if the line is not breakable.
 
 Same for evaluated strings which contain subroutines, or which are
-currently executed. The C<$filename> for C<eval>ed strings looks like
+currently executed.  The C<$filename> for C<eval>ed strings looks like
 C<(eval 34)>.
 
 =item *
 
-The scalar C<${"_<$filename"}> contains C<"_<$filename">. Same for
+The scalar C<${"_<$filename"}> contains C<"_<$filename">.  Same for
 evaluated strings which contain subroutines, or which are currently
-executed. The C<$filename> for C<eval>ed strings looks like C<(eval
+executed.  The C<$filename> for C<eval>ed strings looks like C<(eval
 34)>.
 
 =item *
 
 After each C<require>d file is compiled, but before it is executed,
 C<DB::postponed(*{"_<$filename"})> is called (if subroutine
-C<DB::postponed> exists). Here the $filename is the expanded name of
+C<DB::postponed> exists).  Here the $filename is the expanded name of
 the C<require>d file (as found in values of C<%INC>).
 
 =item *
 
 After each subroutine C<subname> is compiled existence of
-C<$DB::postponed{subname}> is checked. If this key exists,
+C<$DB::postponed{subname}> is checked.  If this key exists,
 C<DB::postponed(subname)> is called (if subroutine C<DB::postponed>
 exists).
 
 =item *
 
 A hash C<%DB::sub> is maintained, with keys being subroutine names,
-values having the form C<filename:startline-endline>. C<filename> has
+values having the form C<filename:startline-endline>.  C<filename> has
 the form C<(eval 31)> for subroutines defined inside C<eval>s.
 
 =item *
@@ -1016,7 +1016,7 @@ The following debugger is quite functional:
   }
 
 It prints the sequential number of subroutine call and the name of the
-called subroutine. Note that C<&DB::sub> should be compiled into the
+called subroutine.  Note that C<&DB::sub> should be compiled into the
 package C<DB>.
 
 =head2 Debugger Internals
@@ -1031,21 +1031,21 @@ PERLDB_OPTS and parses it as a rest of C<O ...> line in debugger prompt.
 
 It also maintains magical internal variables, such as C<@DB::dbline>,
 C<%DB::dbline>, which are aliases for C<@{"::_<current_file"}>
-C<%{"::_<current_file"}>. Here C<current_file> is the currently
+C<%{"::_<current_file"}>.  Here C<current_file> is the currently
 selected (with the debugger's C<f> command, or by flow of execution)
 file.
 
-Some functions are provided to simplify customization. See L<"Debugger
-Customization"> for description of C<DB::parse_options(string)>. The
+Some functions are provided to simplify customization.  See L<"Debugger
+Customization"> for description of C<DB::parse_options(string)>.  The
 function C<DB::dump_trace(skip[, count])> skips the specified number
 of frames, and returns an array containing info about the caller
-frames (all if C<count> is missing). Each entry is a hash with keys
+frames (all if C<count> is missing).  Each entry is a hash with keys
 C<context> (C<$> or C<@>), C<sub> (subroutine name, or info about
 eval), C<args> (C<undef> or a reference to an array), C<file>, and
 C<line>.
 
 The function C<DB::print_trace(FH, skip[, count[, short]])> prints 
-formatted info about caller frames. The last two functions may be
+formatted info about caller frames.  The last two functions may be
 convenient as arguments to C<E<lt>>, C<E<lt>E<lt>> commands.
 
 =head2 Other resources