如何在不退出Rails控制台的情况下退出Pry循环

11
有时使用 binding.pry 会导致长时间的循环,我可以通过 exit-program 命令退出循环,但这也会退出 rails 控制台。
有没有一种简单的方法在不退出 rails 控制台 的情况下退出长时间的循环?
2个回答

9

我不确定这是否符合你的需求,但是你可以尝试使用disable-pry命令,该命令会在不退出会话的情况下自动迭代整个循环。另一个选项(虽然不适合处理较长的循环)是使用exitCtrl+D,它可以迭代单个循环周期。你需要重复输入该命令,直到循环完成,不过如果你的目标是打断点,那么这会使你能够达到目的。

如果需要更多控制权,你可以添加另一个gem,例如byebugpry-byebug


1
然后,如果你想在退出循环后重新启用 binding.pry 的断点调试功能,请使用 ENV['DISABLE_PRY'] = nil。虽然没有 enable-pry 命令,但这个方法可以解决问题。 - Francesca Nannizzi

0
debug = true
# start loop
    binding.pry if debug
# end loop

你可以使用exit命令单独退出每个循环迭代。当你准备好退出调试并继续执行剩余的代码时,输入debug = false。然后,exit将会返回到Rails控制台会话。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接