假设我有一种情况,我试图尝试一些Perl代码.
perl -d foo.pl
Run Code Online (Sandbox Code Playgroud)
Foo.pl认为它是快乐的方式(这是一个很大的脚本),我决定我想重新运行一个特定的子程序并单步执行它,但不重新启动该过程.我该怎么办?
调试器命令b method在子例程的开头设置断点.
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>> _
Run Code Online (Sandbox Code Playgroud)
有时您可能必须使用包名来限定子例程名称.
DB<1> use MyModule
DB<2> b MyModule::MySubroutine
Run Code Online (Sandbox Code Playgroud)