【问题标题】:Use better_errors as debugger?使用 better_errors 作为调试器?
【发布时间】:2013-07-13 00:17:42
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    或者或者……如果你真的需要的话。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        来自README

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

        不过,请务必仅在您的开发环境中使用它。您的 Gemfile 中应该有以下内容。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-01-22
          • 2017-04-10
          • 2012-02-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多