所以我尝试在另一个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 感谢所有回答的人,你们告诉我它的含义越多,我得到的想法就越好:)
答案 0 :(得分:0)
TTY(电传打字机的简称)基本上是连接到终端的特殊输入或输出文件句柄 - 即用户输入。有关详细信息,请参阅:
这是你需要知道的初学者(很难说更多,因为你没有解释你需要用TTY做什么):
在Unix上,它通常映射到/dev/tty
设备或类似的
您可以{2}在Perl中使用-t
就调试器而言,至少需要知道2件事情(如果你打算玩TTY,最后一段是最重要的)。所有数据都近似引自test for it
p expr
打印到$DB::OUT
文件句柄(不 STDOUT
),而{strong> /dev/tty
则向LineInfo
打开。
我认为这可能会受到来自PERLDB_OPTS
的{{1}}选项的控制,但从未使用它,所以不确定。
可能会受到以下$ENV{PERLDB_OPTS}
选项的影响:
TTY - 用于调试I / O的TTY。
noTTY - 如果设置,调试器将进入NonStop模式,不会连接到TTY。如果被中断(或者如果控制通过Perl脚本中的$ DB :: signal或$ DB :: single的显式设置进入调试器),它将连接到启动时在TTY选项中指定的TTY,或连接到在运行时使用您选择的Term::Rendezvous
模块。
此模块应实现一个名为new的方法,该方法返回一个具有两种方法的对象:IN和OUT。这些应该返回文件句柄,用于相应地调试输入和输出。新方法应该在启动时检查包含$ ENV {PERLDB_NOTTY}值的参数,否则检查“$ ENV {HOME} / .perldbtty $$”。此文件未经过正确的所有权检查,因此理论上可能存在安全隐患。