【问题标题】:Debugging rake tasks调试 rake 任务
【发布时间】:2012-10-30 19:02:25
【问题描述】:
我在任务中添加了debugger 和require 'ruby-debug' 来调试它。
当我从控制台运行我的任务时,它确实命中了debugger,但不允许我检查任何变量。例如,如果我的任务中有一行:
my_var = 1 + 2
然后我输入my_var 或my_var.inspect,在调试时,它说:
*** Unknown command: "my_var". Try "help".
我错过了什么?
【问题讨论】:
标签:
ruby-on-rails
rake
ruby-debug
【解决方案1】:
尝试运行
e my_var
如果默认情况下未设置自动评估,则必须在任何评估表达式前加上 e。
顺便说一句,要设置自动评估,请将以下行放入~/.rdebugrc:
set autoeval
执行此操作后,调试器无法识别的任何命令都将被视为尝试评估 en 表达式,因此您只需键入变量名即可获取其值。
【解决方案2】:
直接运行
p my_var
如需更多选项,请输入帮助
【解决方案3】:
如果您想获取变量的值,请尝试使用
=> 显示
这一行将在每一步显示变量....
如果要取消显示,请使用此命令。
=> undisplay
还可以尝试输入“帮助”,这将列出您在调试时可以使用的所有命令。试试看。
我们可以使用'p'、'pp'、'eval'、'list'等。