在 Rails 开始使用 byebug

Getting started with byebug in Rails

我正在从 Django 到 Rails。到目前为止,我刚刚创建了一个新的 Rails 应用程序并在 Gemfile 中找到了这一行:

  # Call 'debugger' anywhere in the code to stop execution and get a
  # debugger console
  gem 'byebug'

这应该如何运作?是不是像评论里说的那么直白?我可以将 debugger 放在代码中的某处并在我的浏览器中获得调试器控制台吗?

启动rails服务器

rails s

并监控日志。

现在尝试访问指向代码中写debugger的地方的页面 日志将在您输入 debugger/byebug 字词的位置停止。

您可以在那一刻打印出变量

更新 rails 4

根据 Deivid 的建议,我想在这里引用他的话

drop the --debug flag. You don't need to do anything special to make byebug work in Rails 4. Just require 'byebug' and call byebug

您不会在浏览器中获得调试器 - 调用 debuggerbyebug 将使您进入终端 window 中用于 [=24] 的 byebug 提示符=] 您的 rails 服务器(请注意,这与 rails 控制台不同 - 在 rails debugging guide 中概述了您可以执行的操作)。

您可能感兴趣的另一个工具是 web-console gem(默认包含在 rails 4.2 及更高版本中)。这允许您调用 console(在控制器、视图等中),并会在此时将您转储到基于浏览器的 IRB 会话中