Ruby中的$ DEBUG全局变量

时间:2013-03-08 09:29:17

标签: ruby

有人可以总结一下$DEBUG使用的时间/时间。我对它不熟悉,也没有找到文档(Class Thread documentationModule Signal documentation)。

这些是我不清楚的例子:

p @ivar if $DEBUG

Signal.trap("USR1") do
  $debug = !$debug
  puts "Debug now: #$debug"
end

2 个答案:

答案 0 :(得分:4)

你可以在这里看到: Ruby verbose mode and how it's broken

答案 1 :(得分:3)

这两者完全不同。第一个是仅在设置$DEBUG时执行的调试行;如果将命令行参数$DEBUG传递给-d,则会设置ruby

第二个是翻转一个$debug变量(不同的情况!!),这是该程序特有的。当您使用SIGUSR1信号点击进程时,它将更改调试模式(有时仅用于打印调试信息)。