perl - Perl 脚本如何知道它是否在调试器中运行?

标签 perl debugging

我有一个脚本可以正常将 STDIN/STDOUT 重定向到文件。但是,如果不这样做,调试效率会高得多。是否有一个 $DB:xxx 变量或让脚本知道的东西,以便它可以表现不同?

最佳答案

我没有找到任何方法来确定他们的调试器是否直接运行,但您可以检查众所周知的调试器变量 $DB::single使用以下存在:

if ($DB::{single}) {
   say "Debugging";
}

另一种方法是检查调试器模块是否已加载。
if ($INC{"perl5db.pl"}) {
   say "Debugging";
}

关于perl - Perl 脚本如何知道它是否在调试器中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61934647/

相关文章:

regex - Perl 模式的形式语言表达能力

perl - 如何将 Perl 的单行代码转换为完整的脚本?

javascript - 欺骗浏览器调用 JavaScript 事件?

php - 限制嵌套对象深度的 var_dump 实现

regex - 如何使用 Shell 或 Perl 替换字符串,即使它包含正则表达式元字符?

c - 为什么会生成这个core dumped

java - 如何在 Eclipse 中调试类似于常规 Java 程序的 JUnit 测试

c++ - 调试线程时printf的作用

.net - 无法在VS2010中调试.NET框架代码

正则表达式匹配方括号