单步调试perl脚本.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单步调试perl脚本

perl拥有诡异的语法,丰富的类库以及强大的功能,是系统管理员必备的脚本技能。学会debug perl,将使我们在调试perl脚本的过程中事半功倍,再也不用东print一下西print一下了。下面我们来看看如何对perl脚本进行单步跟踪。首先准备一个例程,test.pl,代码如下:?12345678910111213141516171819202122#!/usr/bin/perlusestrict;useIO::File;?my$fh= IO::File-new($fh){print($_);}$fh-close();subtestFunction(){my($a, $b) = @_;my$i= 0;while($i 100){$i+= 1;}}my$a1= hello world!;my@a2= (1,2,3,4,5,6);foreachmy$ii(@a2){print($ii.\n);}my%a3= (key1=val1,key2= val2, key3= val3);print($a3{key1});然后我们执行:perl -d test.pl进入perl的debug窗口。?123456789[root@cnsz12345 perl]# perl -d test.pl?Loading DB routines from perl5db.pl version 1.27Editor support available.?Enter h or `h h for help, or `man perldebugformorehelp.?main::(test.pl:5):????? my $fh = IO::File-new(DB1输入h能看到帮助,输入h h能看到更完整的帮助。?1234567891011121314151617181920212223242526List/searchsourcelines:?????????????? Control script execution:l [ln|sub]? List sourcecode??????????? T?????????? Stack trace- or .????? List previous/currentline? s [expr]??? Single step [inexpr]v[line]??? View around line??????????? n [expr]??? Next, steps over subsf filename? View sourceinfile?????????? Repeat last n or s/pattern/?patt??? Search forw/backw??? r?????????? Return from subroutineM?????????? Show module versions??????? c [ln|sub]? Continue untilpositionDebugger controls:??????????????????????? L?????????? List break/watch/actionso [...]???? Set debugger options??????? t [expr]??? Toggle trace [trace expr][]|{[{]|[] [cmd] Do pre/post-promptb [ln|event|sub] [cnd] Set breakpoint! [N|pat]?? Redo a previous command???? B ln|*????? Delete a/allbreakpointsH [-num]??? Display last num commands?? a [ln] cmd? Do cmd before line= [a val]?? Define/listan alias??????? A ln|*????? Delete a/allactionsh [db_cmd]? Get help on command???????? w expr????? Add a watchexpressionh h???????? Complete help page????????? W expr|*??? Delete a/allwatchexprs|[|]db_cmd? Send output to pager??????? ![!] syscmd Run cmd ina subprocessq or ^D???? Quit??????????????????????? R?????????? Attempt a restartD

您可能关注的文档

文档评论(0)

liangyuehong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档