отладчик perl не останавливается при первом утверждении - PullRequest
7 голосов
/ 05 марта 2011

Я пытаюсь найти способ запустить Perl-процесс в отладчике, но просто запустил его автоматически, не останавливаясь на первом операторе и заставляя меня ввести 'c', чтобы запустить его. Этот модуль запускается более крупной системой, и мне нужно иметь возможность периодически (на основе внешних условий) прерывать программу с помощью сигнала прерывания, проверять некоторые структуры данных и продолжать его.

Очевидно, что контролирующая программа может запустить мой процесс, используя "perl -d myProcess", но как заставить его работать без первоначального прерывания. Кто-нибудь знает, как этого добиться?

Большое спасибо.

Ответы [ 2 ]

7 голосов
/ 06 марта 2011

Спасибо. Это был большой намек. Я вижу несколько вариантов, включая «NonStop».

Похоже, что с помощью строки PERLDB_OPTS="NonStop" perl -d myprog.pl & всё получается. Тогда я просто kill -INT <pid> и fg, чтобы запустить его в отладчике. После того, как я 'c' продолжу выполнение и bg, оно продолжится.

2 голосов
/ 30 июня 2011

Вы также можете добавить эту опцию конфигурации в файл .perldb.Формат файла конфигурации немного необычен и не так хорошо документирован, поэтому здесь идет речь

DB::parse_options("NonStop=1");

Другие полезные опции:

DB::parse_options("dumpDepth=3");
DB::parse_options("PrintRet=0");
$DB::deep = 1000;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...