如何在不重新启动Perl调试器中的脚本的情况下重新运行子例程?

前端之家收集整理的这篇文章主要介绍了如何在不重新启动Perl调试器中的脚本的情况下重新运行子例程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一种情况,我试图尝试一些Perl代码.

perl -d foo.pl

Foo.pl认为它是快乐的方式(这是一个很大的脚本),我决定我想重新运行一个特定的子程序并单步执行它,但不重新启动该过程.我该怎么办?

解决方法

调试器命令b方法在子例程的开头设置断点.

DB<1> b foo
  DB<2> &foo(12)
main::foo(foo.pl:2):      my ($x) = @_;
  DB<<3>> s
main::foo(foo.pl:3):      $x += 3;
  DB<<3>> s
main::foo(foo.pl:4):      print "x = $x\n";
  DB<<3>> _

有时您可能必须使用包名来限定子例程名称.

DB<1> use MyModule
  DB<2> b MyModule::MySubroutine

猜你在找的Perl相关文章