使用Rails4.1.1和Ruby 2.0.0,binding.pry的终端输出有时为空

Using Rails4.1.1 and Ruby 2.0.0, binding.pry's terminal output is sometimes empty

我正在尝试使用 binding.pry 调试 Rails 4.1.1 应用程序,但通常情况下,当执行中断时,我会尝试仅显示我的变量值 returns 一个空字符串,或者什么都没有(很难区分)。

但其他时候它会吐出值。我注意到,如果该变量包含一段很长的文本或 JSON,它更有可能吐出该变量的值。否则它会被忽略。

同样尝试做其他基本的 binding.pry 事情,例如 ! 重置输入缓冲区或 hist --tail 5 等,将被忽略。

Rails 正在通过 foremanthin 中的 运行 启动。

我猜这是某种输出同步问题,但这只是一个猜测。

您遇到过这种情况吗?如果有,您是如何处理的?

您在使用 pry-debugger 吗?如果是这样,使用 Ruby 2+,您可能想要更改为 pry-byebug。 Ruby 1.9 和 2.x 之间存在某种 linecache 不兼容问题,byebug 解决了这个问题。