⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 perldebug.1

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 1
📖 第 1 页 / 共 4 页
字号:
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05).\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...de Sp \" Vertical space (when we can't use .PP).if t .sp .5v.if n .sp...de Vb \" Begin verbatim text.ft CW.nf.ne \\$1...de Ve \" End verbatim text.ft R.fi...\" Set up some character translations and predefined strings.  \*(-- will.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left.\" double quote, and \*(R" will give a right double quote.  \*(C+ will.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,.\" nothing in troff, for use with C<>..tr \(*W-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'.ie n \{\.    ds -- \(*W-.    ds PI pi.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch.    ds L" "".    ds R" "".    ds C` "".    ds C' ""'br\}.el\{\.    ds -- \|\(em\|.    ds PI \(*p.    ds L" ``.    ds R" '''br\}.\".\" Escape single quotes in literal strings from groff's Unicode transform..ie \n(.g .ds Aq \(aq.el       .ds Aq '.\".\" If the F register is turned on, we'll generate index entries on stderr for.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index.\" entries marked with X<> in POD.  Of course, you'll have to process the.\" output yourself in some meaningful fashion..ie \nF \{\.    de IX.    tm Index:\\$1\t\\n%\t"\\$2"...    nr % 0.    rr F.\}.el \{\.    de IX...\}.\".\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2)..\" Fear.  Run.  Save yourself.  No user-serviceable parts..    \" fudge factors for nroff and troff.if n \{\.    ds #H 0.    ds #V .8m.    ds #F .3m.    ds #[ \f1.    ds #] \fP.\}.if t \{\.    ds #H ((1u-(\\\\n(.fu%2u))*.13m).    ds #V .6m.    ds #F 0.    ds #[ \&.    ds #] \&.\}.    \" simple accents for nroff and troff.if n \{\.    ds ' \&.    ds ` \&.    ds ^ \&.    ds , \&.    ds ~ ~.    ds /.\}.if t \{\.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u".    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'.\}.    \" troff and (daisy-wheel) nroff accents.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'.ds 8 \h'\*(#H'\(*b\h'-\*(#H'.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#].ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#].ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#].ds ae a\h'-(\w'a'u*4/10)'e.ds Ae A\h'-(\w'A'u*4/10)'E.    \" corrections for vroff.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'.    \" for low resolution devices (crt and lpr).if \n(.H>23 .if \n(.V>19 \\{\.    ds : e.    ds 8 ss.    ds o a.    ds d- d\h'-1'\(ga.    ds D- D\h'-1'\(hy.    ds th \o'bp'.    ds Th \o'LP'.    ds ae ae.    ds Ae AE.\}.rm #[ #] #H #V #F C.\" ========================================================================.\".IX Title "PERLDEBUG 1".TH PERLDEBUG 1 "2007-12-18" "perl v5.10.0" "Perl Programmers Reference Guide".\" For nroff, turn off justification.  Always turn off hyphenation; it makes.\" way too many mistakes in technical documents..if n .ad l.nh.SH "NAME"perldebug \- Perl debugging.IX Xref "debug debugger".SH "DESCRIPTION".IX Header "DESCRIPTION"First of all, have you tried using the \fB\-w\fR switch?.PPIf you're new to the Perl debugger, you may prefer to readperldebtut, which is a tutorial introduction to the debugger ..SH "The Perl Debugger".IX Header "The Perl Debugger"If you invoke Perl with the \fB\-d\fR switch, your script runs under thePerl source debugger.  This works like an interactive Perlenvironment, prompting for debugger commands that let you examinesource code, set breakpoints, get stack backtraces, change the values ofvariables, etc.  This is so convenient that you often fire upthe debugger all by itself just to test out Perl constructsinteractively to see what they do.  For example:.IX Xref "-d".PP.Vb 1\&    $ perl \-d \-e 42.Ve.PPIn Perl, the debugger is not a separate program the way it usually is in thetypical compiled environment.  Instead, the \fB\-d\fR flag tells the compilerto insert source information into the parse trees it's about to hand offto the interpreter.  That means your code must first compile correctlyfor the debugger to work on it.  Then when the interpreter starts up, itpreloads a special Perl library file containing the debugger..PPThe program will halt \fIright before\fR the first run-time executablestatement (but see below regarding compile-time statements) and ask youto enter a debugger command.  Contrary to popular expectations, wheneverthe debugger halts and shows you a line of code, it always displays theline it's \fIabout\fR to execute, rather than the one it has just executed..PPAny command not recognized by the debugger is directly executed(\f(CW\*(C`eval\*(C'\fR'd) as Perl code in the current package.  (The debuggeruses the \s-1DB\s0 package for keeping its own state information.).PPNote that the said \f(CW\*(C`eval\*(C'\fR is bound by an implicit scope. As aresult any newly introduced lexical variable or any modifiedcapture buffer content is lost after the eval. The debugger is anice environment to learn Perl, but if you interactively experiment usingmaterial which should be in the same scope, stuff it in one line..PPFor any text entered at the debugger prompt, leading and trailing whitespaceis first stripped before further processing.  If a debugger commandcoincides with some function in your own program, merely precede thefunction with something that doesn't look like a debugger command, suchas a leading \f(CW\*(C`;\*(C'\fR or perhaps a \f(CW\*(C`+\*(C'\fR, or by wrapping it with parenthesesor braces..Sh "Calling the debugger".IX Subsection "Calling the debugger"There are several ways to call the debugger:.IP "perl \-d program_name" 4.IX Item "perl -d program_name"On the given program identified by \f(CW\*(C`program_name\*(C'\fR..IP "perl \-d \-e 0" 4.IX Item "perl -d -e 0"Interactively supply an arbitrary \f(CW\*(C`expression\*(C'\fR using \f(CW\*(C`\-e\*(C'\fR..IP "perl \-d:Ptkdb program_name" 4.IX Item "perl -d:Ptkdb program_name"Debug a given program via the \f(CW\*(C`Devel::Ptkdb\*(C'\fR \s-1GUI\s0..IP "perl \-dt threaded_program_name" 4.IX Item "perl -dt threaded_program_name"Debug a given program using threads (experimental)..Sh "Debugger Commands".IX Subsection "Debugger Commands"The interactive debugger understands the following commands:.IP "h" 12.IX Xref "debugger command, h".IX Item "h"Prints out a summary help message.IP "h [command]" 12.IX Item "h [command]"Prints out a help message for the given debugger command..IP "h h" 12.IX Item "h h"The special argument of \f(CW\*(C`h h\*(C'\fR produces the entire help page, which is quite long..SpIf the output of the \f(CW\*(C`h h\*(C'\fR command (or any command, for that matter) scrollspast your screen, precede the command with a leading pipe symbol sothat it's run through your pager, as in.Sp.Vb 1\&    DB> |h h.Ve.SpYou may change the pager which is used via \f(CW\*(C`o pager=...\*(C'\fR command..IP "p expr" 12.IX Xref "debugger command, p".IX Item "p expr"Same as \f(CW\*(C`print {$DB::OUT} expr\*(C'\fR in the current package.  In particular,because this is just Perl's own \f(CW\*(C`print\*(C'\fR function, this means that nesteddata structures and objects are not dumped, unlike with the \f(CW\*(C`x\*(C'\fR command..SpThe \f(CW\*(C`DB::OUT\*(C'\fR filehandle is opened to \fI/dev/tty\fR, regardless ofwhere \s-1STDOUT\s0 may be redirected to..IP "x [maxdepth] expr" 12.IX Xref "debugger command, x".IX Item "x [maxdepth] expr"Evaluates its expression in list context and dumps out the result in apretty-printed fashion.  Nested data structures are printed outrecursively, unlike the real \f(CW\*(C`print\*(C'\fR function in Perl.  When dumpinghashes, you'll probably prefer 'x \e%h' rather than 'x \f(CW%h\fR'.See Dumpvalue if you'd like to do this yourself..SpThe output format is governed by multiple options described under\&\*(L"Configurable Options\*(R"..SpIf the \f(CW\*(C`maxdepth\*(C'\fR is included, it must be a numeral \fIN\fR; the value isdumped only \fIN\fR levels deep, as if the \f(CW\*(C`dumpDepth\*(C'\fR option had beentemporarily set to \fIN\fR..IP "V [pkg [vars]]" 12.IX Xref "debugger command, V".IX Item "V [pkg [vars]]"Display all (or some) variables in package (defaulting to \f(CW\*(C`main\*(C'\fR)using a data pretty-printer (hashes show their keys and values soyou see what's what, control characters are made printable, etc.).Make sure you don't put the type specifier (like \f(CW\*(C`$\*(C'\fR) there, justthe symbol names, like this:.Sp.Vb 1\&    V DB filename line.Ve.SpUse \f(CW\*(C`~pattern\*(C'\fR and \f(CW\*(C`!pattern\*(C'\fR for positive and negative regexes..SpThis is similar to calling the \f(CW\*(C`x\*(C'\fR command on each applicable var..IP "X [vars]" 12.IX Xref "debugger command, X".IX Item "X [vars]"Same as \f(CW\*(C`V currentpackage [vars]\*(C'\fR..IP "y [level [vars]]" 12.IX Xref "debugger command, y".IX Item "y [level [vars]]"Display all (or some) lexical variables (mnemonic: \f(CW\*(C`mY\*(C'\fR variables)in the current scope or \fIlevel\fR scopes higher.  You can limit thevariables that you see with \fIvars\fR which works exactly as it doesfor the \f(CW\*(C`V\*(C'\fR and \f(CW\*(C`X\*(C'\fR commands.  Requires the \f(CW\*(C`PadWalker\*(C'\fR moduleversion 0.08 or higher; will warn if this isn't installed.  Outputis pretty-printed in the same style as for \f(CW\*(C`V\*(C'\fR and the format iscontrolled by the same options..IP "T" 12.IX Xref "debugger command, T backtrace stack, backtrace".IX Item "T"Produce a stack backtrace.  See below for details on its output..IP "s [expr]" 12.IX Xref "debugger command, s step".IX Item "s [expr]"Single step.  Executes until the beginning of anotherstatement, descending into subroutine calls.  If an expression issupplied that includes function calls, it too will be single-stepped..IP "n [expr]" 12.IX Xref "debugger command, n".IX Item "n [expr]"Next.  Executes over subroutine calls, until the beginningof the next statement.  If an expression is supplied that includesfunction calls, those functions will be executed with stops beforeeach statement..IP "r" 12.IX Xref "debugger command, r".IX Item "r"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -