首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Perl程序中对特定文件设置断点?

如何在Perl程序中对特定文件设置断点?
EN

Stack Overflow用户
提问于 2012-01-19 10:53:57
回答 2查看 18.3K关注 0票数 25

我的Perl程序看起来像这样:

foo/
foo/bar/
for/bar/test.pm
foo.pm
foo/bar.pm
test.pl

并使用perl test.pl启动程序。我想在foo/bar/test.pm中调试一个sub。如何在潜艇上设置断点?

我该怎么做呢?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-19 11:01:20

要调试perl脚本,请使用-d开关调用调试器。

perl -d test.pl

在调试器中,可以使用b <line no>在当前文件中设置断点。有时,在尚未加载或很久以前加载的文件中设置断点很麻烦,因此您还可以将行

$DB::single = 1;

在任何perl程序中的任何位置,调试器将在执行该行之后立即中断。这也是一个好方法(唯一的方法?)在将在编译时运行的代码中设置断点。

票数 40
EN

Stack Overflow用户

发布于 2012-01-19 12:59:50

只需使用sub的完全限定名称作为b的参数

b foo::bar::test::subname

示例:

$ perl -d -e'use CGI; CGI->new'
...
main::(-e:1):   use CGI; CGI->new
  DB<1> b CGI::new
  DB<2> r
CGI::new(.../CGI.pm:337):
337:      my($class,@initializer) = @_;
  DB<2> q
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8920477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档