gpt4 book ai didi

ruby - 在不同的文件中设置断点没有效果

转载 作者:数据小太阳 更新时间:2023-10-29 07:08:16 25 4
gpt4 key购买 nike

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 在另一个文件的特定行上设置断点时,我收到消息 Set breakpoint 1 at foo.rb:4,但是当我 cont 时,程序执行到最后,调试器永远不会停止。但是,如果我在 main.rb 中的一行上打断,例如b ./main.rb:3,或者一个方法,例如b Foo.bar,调试器按预期停止。

为什么调试器不会在主文件以外的文件中的断点处停止?

更新:我已经在 Windows 7 和 OS X 10.8 上使用 Ruby 1.9.3 进行了尝试;它在任何一种环境中都不起作用。

我也刚刚意识到调试器在脚本运行到结束后退出:我开始调试 main.rb,使用 cont,然后是 baz 打印在控制台上,我又回到了 shell 中。这是预期的行为,还是调试器崩溃了?

最佳答案

哇,这很奇怪。不确定这是否有帮助,但也许你可以这样做。使用 next 跳过 require 以便加载 Foo

b Foo:bar

那至少应该打破吧

关于ruby - 在不同的文件中设置断点没有效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12263900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com