我正在从Django转向Rails。目前我只是创建了一个新的Rails应用程序,并在Gemfile
中发现了这一行:
# Call 'debugger' anywhere in the code to stop execution and get a
# debugger console
gem 'byebug'
这个应该怎么工作?它是否像评论中说的那样简单明了?我可以在代码中的某个地方放置debugger
,然后在浏览器中获取一个调试控制台吗?
我正在从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的建议,我在此引用他的话
取消--debug标志。 在Rails 4中不需要做任何特殊处理来使byebug工作。 只需调用require 'byebug'和byebug即可。
debugger
或者 byebug
会将你带入到 byebug 提示符所在的终端窗口,而这个终端窗口是用来运行你的 rails 服务器的(请注意这并不同于 rails 控制台,可以在 rails 调试指南 中了解其概述)。console
,然后将你转移到基于浏览器的 IRB 会话中。
require 'byebug'
并调用byebug
即可。 - deivid