使用better_errors作为调试器?

时间:2013-07-13 00:17:43

标签: ruby-on-rails ruby-on-rails-3 debugging better-errors-gem

是否可以使用优秀的better_errors gem作为调试器?

换句话说,我可以添加代码以使其落入better_errors“错误”页面,浏览,检查事物,然后继续吗?

我可以添加虚假错误或raise,但我无法“继续”。

是的,我知道我可以使用调试器或pry,但better_errors接口更优越,包含各种请求和放大器。堆栈信息,我可以打开2个窗口而不是3个来编码/调试。

3 个答案:

答案 0 :(得分:3)

不,它是围绕错误页面构建的。它所采用的调用堆栈快照来自最后一个异常。

答案 1 :(得分:3)

或者......如果你真的需要它。

只需输入:raise 'something'并在任何需要的地方发出任意错误,然后在那里安装REPL。

答案 2 :(得分:3)

查看与binding_of_caller一起使用的better_errors gem。花8分钟观看RailsCasts #402,同时使用两颗宝石进行演示。它不会让你调试步进或观察点设置,但它肯定会允许你检查和搜索任何堆栈帧中的本地和实例变量(每个都有自己的REPL)。

来自README

  

使用binding_of_caller,我们可以从通话的高处获取绑定   堆栈并评估该上下文中的代码。允许访问绑定   任意远远调用堆栈,不仅限于直接   呼叫者。

但请确保仅在开发环境中使用它。您应该在Gemfile中拥有以下内容。

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
end