У меня есть следующий скрипт:
#!/usr/bin/env perl
sub bar { foo() }
sub foo { }
sub hello { bar(); }
hello();
Я запустил его с неинтерактивным отладчиком и получил:
$ PERL5OPT=-d PERLDB_OPTS='N f=1' perl 2.pl
Package 2.pl.
entering DB::Obj::_init
entering main::hello
entering main::bar
entering main::foo
Теперь я хочу остановить печать трассировки стека, отключив отладчик после bar()
вызов.Как это сделать?
Что я пробовал:
#!/usr/bin/env perl
sub bar {
# $^D; # no effect
# DB::done(); # Undefined subroutine &DB::done
# $DB::finished=1; # no effect
# delete $INC{'perl5db.pl'}; # no effect
# Class::Unload->unload('perl5db.pl'); # no effect
foo();
}
sub foo { }
sub hello { bar(); }
hello();
Но entering main::foo
все еще напечатано.
Ожидаемый результат:
Package 2.pl.
entering DB::Obj::_init
entering main::hello
entering main::bar