ruby调试器不会停止我在不同于执行开始时的文件中设置的断点。例如,考虑这两个文件, foo.rb :
# foo.rb
class Foo
def bar
puts "baz"
end
end
和 main.rb :
# main.rb
require './foo'
Foo.new.bar
我使用ruby -r debug .\main.rb
开始调试。现在,当我尝试使用b ./foo.rb:4
在另一个文件中的特定行上设置断点时,我收到消息在foo.rb设置断点1:4 ,但是当我{{1程序执行到最后,调试器永远不会停止。但是,如果我在 main.rb 中的一行中断,例如cont
或方法,例如b ./main.rb:3
,调试器按预期停止。
为什么调试器不在主文件以外的文件中的断点处停止?
更新:我在Windows 7以及OS X 10.8上尝试过使用Ruby 1.9.3;它在两种环境中都不起作用。
我也刚刚意识到调试器在脚本运行到结束后退出:我开始调试 main.rb ,使用b Foo.bar
,然后 baz 打印在控制台上,我正好回到了外壳中。这是预期的行为,还是调试器可能崩溃了?
答案 0 :(得分:1)
b Foo:bar
至少应该打破吧