Ruby on rails Ruby:查找全局变量的更改位置

Ruby on rails Ruby:查找全局变量的更改位置,ruby-on-rails,ruby,Ruby On Rails,Ruby,我测试中的一些gem将$stdout设置为dev/null。每当更改$stdout时,是否有方法引发错误?或者有没有其他方法来跟踪它的变化 更新:对于任何可能有类似问题的人-问题是ActiveSupport的静默和静默方法不是线程安全的。在这种情况下,activerecord-session\u存储区是有问题的gem,请参阅 嗯。我想这实际上是改变后的路线,技术上。。。如果您介意的话,您可以记住每个跟踪步骤中的上一个文件/行,并将其打印出来。我不确定通过哪种方式获得了正确的文件或行,但调用方位置

我测试中的一些gem将
$stdout
设置为
dev/null
。每当更改
$stdout
时,是否有方法引发错误?或者有没有其他方法来跟踪它的变化

更新:对于任何可能有类似问题的人-问题是ActiveSupport的
静默
静默
方法不是线程安全的。在这种情况下,
activerecord-session\u存储区
是有问题的gem,请参阅


嗯。我想这实际上是改变后的路线,技术上。。。如果您介意的话,您可以记住每个跟踪步骤中的上一个文件/行,并将其打印出来。

我不确定通过哪种方式获得了正确的文件或行,但调用方位置有助于跟踪违规方法。谢谢
set_trace_func proc { |event, file, line, id, binding, classname|
  if $stdout != STDOUT
    STDOUT.puts "$stdout changed at #{file}:#{line}"
    exit
  end
}