Установить точку останова из файла инициализации .perldb
Я экспериментирую с .perldb
rc и пытается установить точку останова. Вот небольшой пример сценария, который я использую для тестирования (p.pl):
use feature qw(say);
use strict;
use warnings;
say "Line 5";
say "Line 6";
say "Line 7";
Затем я создал следующие .perldb
файл в текущем каталоге:
parse_options("NonStop=1");
sub afterinit { push @DB::typeahead, "b 7" }
(Обратите внимание, что у этого файла не должно быть прав на запись кем-либо другим, кроме вас (например: chmod 644 .perldb
), иначе отладчик не загрузит его). Затем запускаю скрипт под отладчиком:
$ perl -d p.pl
Line 5
Line 6
Line 7
Как видно, точка останова в строке 7 не соблюдается. В чем тут может быть проблема?
1 ответ
Решение
Изменение вашего ".perldb-файла" на
#parse_options("NonStop=1");
sub afterinit { push @DB::typeahead, ("b 7", "c") }
должен делать свою работу.
$ perl -d t.pl
Loading DB routines from perl5db.pl version 1.51
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
main::(t.pl:5): say "Line 5";
auto(-2) DB<1> b 7
auto(-1) DB<2> c
Line 5
Line 6
main::(t.pl:7): say "Line 7";
DB<2> l
7==>b say "Line 7";