Как вы можете вызвать интерактивную отладку Perl с помощью hypnotoad или morbo?

Я новичок в mojolicious, но уже некоторое время использую Perl. Мне нужно прыгнуть через несколько обручей, но я могу заставить интерактивный отладчик Perl (и Komodo) работать с удаленными подключениями для Apache, но я не могу найти ничего об интерактивной отладке с помощью hypnotoad или morbo.

Примеры командной строки в базовом учебнике по http://mojolicio.us/perldoc/Mojolicious/Guides/Tutorial работают нормально, потому что вы можете запускать их с помощью perl -d, но я не вижу, как сказать Сценарий hypnotoadctl для перевода сервиса в интерактивный режим отладки ala apache.

Это не возможно? Советы? Подсказки? Указатели?

3 ответа

morbo а также hypnotoad программы Perl, поэтому вы можете запустить их с -d переключатель.

perl -d $(which morbo) myMojoApp.pl

Вероятно, легче всего посыпать кучу $DB::single = 1 заявления вокруг вашего приложения, где вы хотите, чтобы ваши начальные точки останова идти и работать c как первая команда отладчика. Когда вы запускаете запрос, который достигает точки останова, вы получаете приглашение отладчика в терминале, который запустил morbo,

hypnotoad будет сложнее использовать с отладчиком, потому что он быстро закрывает все стандартные файловые дескрипторы, вызовы fork несколько раз, и становится демоном.

Как отмечает JHThorsen, стандартные тесты Mojolicious на самом деле являются обычными сценариями Perl, поэтому вы можете отлаживать свои тесты с помощью:

perl -d t/mytest.t

-Ilib добавляет lib/ каталог в список включения @INC, чтобы ваши модули были загружены.

Одна загвоздка заключается в том, что многие модули не загружаются до времени выполнения, поэтому, если отладчик беспокоит вас по поводу символов, которые еще не загружены, вы, вероятно, захотите установить точки останова после принудительного ввода приглашения отладки с тщательно вставленными

$DB::single = 1;

Благодаря "pink_mist". Ты можешь сделать:

perl -d myMojoApp.pl daemon -l http://*:29849

Но конфигурация приложения не применяется. Я не знаю почему.

Другие вопросы по тегам