2013-07-29 2 views
0

Так что я пытаюсь запустить отладчик perl внутри другого отладчика perl. Я продолжаю читать в perl - это решение. Может ли кто-нибудь объяснить мне, что означает tty (это терминальный тип?) И как он полезен? Это где я прочитал: http://search.cpan.org/~rjbs/perl-5.18.0/lib/perl5db.pl# $ CreateTTY Причина Я пытаюсь использовать TTY из-за этого вопроса я спросил: Pass argument to perl file in debugger and set breakpoint in file executed by system Спасибо всем тех, кто ответит, тем больше вы, ребята, скажите мне, что это такое, лучше идея, которую я получаю :)TTY в perl, объяснение и некоторые примеры

ответ

0

TTY (сокращение от телетайпа) - это, в основном, специальная рукоятка ввода или вывода, которая соединяется с терминалом, а именно, пользовательский ввод. Для вшивых шероховатых Подробностей см:


Это то, что вам нужно знать для начала (трудно сказать больше, так как вы не объясните, что вам нужно связанным с TTY):

  • В Unix обычно он отображается на /dev/tty устройство или подобное

  • Вы можете test for it с помощью -t в Perl


Насколько отладчик, 2 вещи должны быть известны, по крайней мере (если вы собираетесь играть с TTY, то последний абзац является самым важным). Все данные почти цитировал perldoc perldebug

  1. p expr печатает на $DB::OUT дескриптором (НЕSTDOUT), который, в свою очередь, является открытой для /dev/tty.

    Я думаю это может управляться LineInfo вариант из PERLDB_OPTS, но никогда не играл с ним так не уверен.

  2. Может быть затронуты следующие $ENV{PERLDB_OPTS} варианты:

    • TTY - The TTY использовать для отладки ввода/вывода.

    • noTTY - Если установлено, отладчик переходит в режим NonStop и не будет подключаться к TTY. Если прервано (или если управление переходит к отладчику через явную установку $ DB :: signal или $ DB :: single из скрипта Perl), он подключается к TTY, указанному в опции TTY при запуске, или к tty, найденному в используя модуль Term::Rendezvous по вашему выбору.

      Этот модуль должен реализовать метод с именем new, который возвращает объект двумя способами: IN и OUT. Они должны возвращать дескрипторы файлов для использования для отладки ввода и вывода соответственно. Новый метод должен проверять аргумент, содержащий значение $ ENV {PERLDB_NOTTY} при запуске, или "$ ENV {HOME} /.perldbtty $$»в противном случае. Этот файл не проверяется на правильную собственность, поэтому риски безопасности теоретически возможно.

+0

Я пытаюсь установить точку останова в файл, который вызывается из другого файла, используя системная команда – ban

+0

Есть ли способ установить точку останова в файле2.pl, которая вызывается из file1.pl с помощью системной команды или команды eval, а затем, когда я запускаю file1.pl, я разбиваю файл file2.pl ?? ? – ban

+0

@ban - да. Но ваш вопрос был о том, что такое TTY, а не о настройке контрольных точек. – DVK

Смежные вопросы