如何从Ruby Pry中退出?

我使用Pry和Rails应用程序。 我在我的模型中的一个循环内设置了binding.pry来尝试和debugging一个问题。 例如:

 (1..100).each do |i| binding.pry puts i end 

当我键入quit ,它进入下一个迭代,并再次停止。 有没有办法走出循环,所以我不必键入quit 100次?

目前我知道如何摆脱它的唯一方法是使用CTRL + C并重新启动应用程序。

要无条件退出Pry,请键入

 exit-program 

我用:

 disable-pry 

这将保持程序运行,但会阻止它继续执行。 当您在控制台中进行debugging时,这特别有用。

要退出一切,请使用:

 exit! 

这应该忽略所有正在进行的绑定。

三重惊叹( !!! )会这样做。

binding.pry语句与GDB中的断点完全相同。 GDB的这样一个断点也会达到100次。

如果你只想要binding.pry命令一次,对于循环的第一次迭代,然后使用binding.pry上的条件如下所示:

 (1..100).each do |i| binding.pry if i == 1 puts i end 

您只需inputexit当前会话。

使用

 disable-pry 

为了renable,将其添加到您的控制器

 ENV['DISABLE_PRY'] = nil