8

是否可以将出色的better_errors gem 用作调试器?

换句话说,我可以添加代码以使其进入 better_errors “错误”页面,四处寻找,检查,然后继续吗?

我可以添加一个虚假的错误或一个raise,但我不能“继续”。

是的,我知道我可以使用调试器或 pry,但是 better_errors 接口更出色,包含各种请求和堆栈信息,我可以在打开 2 个窗口而不是 3 个窗口的情况下进行编码/调试。

4

3 回答 3

4

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

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

于 2013-11-21T21:19:46.463 回答
3

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

于 2013-07-13T10:12:13.607 回答
3

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

自述文件

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

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

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
end
于 2013-11-23T00:48:55.943 回答