当出现问题时,随时启动 pry 会话。
针对 Ruby 的超快速调试。 (参见 Pry to the rescue!)
pry-rescue 是一个针对 Ruby 的"遇到未处理的异常时中断"实现。每当遇到 发生异常,但未被恢复,pry-rescue 会自动为您打开 Pry:
$ rescue examples/example2.rb
From: /home/conrad/0/ruby/pry-rescue/examples/example2.rb @ line 19 Object#beta:
17: def beta
18: y = 30
=> 19: gamma(1, 2)
20: end
ArgumentError: wrong number of arguments (2 for 1)
from /home/conrad/0/ruby/pry-rescue/examples/example2.rb:22:in `gamma`
[1] pry(main)>您可以像正常情况下一样使用 RubyGems 安装 pry-rescue,并且我强烈建议您也这样做。
安装 pry-stack_explorer。有关不支持的地方,请参阅 已知问题。
gem install pry-rescue pry-stack_explorer如果您使用 Bundler,可以在开发组中将其添加到 Gemfile 中:
group :development do
gem 'pry-rescue'
gem 'pry-stack_explorer'
end对于简单的 Ruby 脚本,只需使用 rescue 可执行文件而不是 ruby 来运行它们
可执行文件。
rescue [arguments..]对于 Rails,请使用 rescue rails 代替 rails,例如:
rescue rails server如果您使用 bundle exec,则救援程序应该位于 exec 之后:
bundle exec rescue rails server然后,每当 Rails 内部发生未处理的异常时,都会打开一个 Pry 控制台。 stdout。这是您在 Rails 日志中看到的同一终端,因此如果您正在使用 Rails 如果使用类似 pow 的函数,则会遇到问题。 如果您使用了非默认的 http 服务器,如 Unicorn 或 Thin,也可以触发 通过以下方式执行此行为(在 Gemfile 中包含 pry-rescue 后):
PRY_RESCUE_RAILS=1 bundle exec unicorn您还可能对 better_errors 感兴趣,它会在未处理的异常情况下在浏览器中打开控制台,而 pry-rails 则会为 Pry 添加一些 Rails 特定的辅助函数,并用 Pry 替换 rails console。
暂无开放 Issues,或尚未同步最近议题。