Answers:
要无条件退出Pry,请输入
exit-program
通过@Nick的评论进行编辑:也可以:
!!!
exit
将使程序继续运行。
rspec
。但是CTRL-C两次。
Ctrl + C
两次将终止Pry会话,但也将有效终止该终端窗口:后续输出出现故障,因此我需要关闭该终端选项卡并移至新窗口。但是!!!
没有这种加剧的作用。
我用:
disable-pry
这将使程序保持运行状态,但将阻止其继续停止执行。在控制台中进行调试时,这特别有用。
ENV['DISABLE_PRY'] = nil
在控制器中而不是在命令行或Rails控制台中进行设置。
要退出所有内容,请使用:
exit!
这应该忽略所有正在进行的绑定。
exit-program
如果您不想重新启动服务器,它仍然可能是最佳选择。
exit-program
,您可以保持自己的rails server
会话状态,但似乎会抛出SystemExit
基于以上两个答案:
感谢你们!您的建议对我有很大帮助!
我只想分享一个简单的愚蠢技巧,我个人就不用担心DISABLE_PRY
所有时间的环境变量。将此回调ApplicationController
永久添加到项目的基本控制器。每当disable-pry
调用时,它将自动重新启用PRY :
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
before_action :reenable_pry
private
def reenable_pry
ENV['DISABLE_PRY'] = nil
end
end
使用gem pry-moves
您可以使用f
(finish命令)跳出循环
例:
42: def test
43: 3.times do |i|
=> 44: binding.pry
45: puts i
46: end
47: puts :finish
48: end
[1] pry(main)> f
0
1
2
Frame: 0/1 method
From: playground/sand.rb:47 main
42: def test
43: 3.times do |i|
44: binding.pry
45: puts i
46: end
=> 47: puts :finish
48: end