我在我的任务中添加了debugger
和require 'ruby-debug'
来调试它。
当我从控制台运行我的任务时,它确实命中debugger
,但不允许我检查任何变量。例如,如果我的任务中有一行:
my_var = 1 + 2
我键入my_var
或my_var.inspect
,在调试时,它说:
*** Unknown command: "my_var". Try "help".
我错过了什么?
答案 0 :(得分:5)
尝试运行
e my_var
如果默认情况下未设置autoeval,则必须使用e。
为任何评估表达式添加前缀顺便说一下,要设置自动值,请将以下行放在~/.rdebugrc
:
set autoeval
执行此操作后,调试器无法识别的任何命令都将被视为计算en表达式的尝试,因此您只需键入变量名称即可获取其值。
答案 1 :(得分:2)
运行
p my_var
有关更多选项,请键入help
答案 2 :(得分:2)
如果你想获得变量的值,请尝试使用
=>显示<变量名称>
这一行将在每一步显示变量....
如果要取消显示,请使用此命令
=> undisplay<输出>
也可以尝试输入'help',这将列出调试时可以使用的所有命令。试试吧。
我们可以使用'p','pp','eval','list'等。