我在我的任务中添加debugger
并require 'ruby-debug'
调试它。
当我从控制台运行我的任务时,它确实命中了debugger
,但不允许我检查任何变量。例如,如果我的任务中有一行:
my_var = 1 + 2
我输入my_var
or my_var.inspect
,在调试时,它说:
*** Unknown command: "my_var". Try "help".
我错过了什么?
我在我的任务中添加debugger
并require 'ruby-debug'
调试它。
当我从控制台运行我的任务时,它确实命中了debugger
,但不允许我检查任何变量。例如,如果我的任务中有一行:
my_var = 1 + 2
我输入my_var
or my_var.inspect
,在调试时,它说:
*** Unknown command: "my_var". Try "help".
我错过了什么?
尝试运行
e my_var
如果默认情况下未设置 autoeval,则必须在任何评估表达式前加上 e。
顺便说一句,要设置自动评估,请将以下行放入~/.rdebugrc
:
set autoeval
完成此操作后,调试器无法识别的任何命令都将被视为尝试评估 en 表达式,因此您只需键入变量名称即可获取其值。
赶紧跑
p my_var
有关更多选项,请键入帮助
如果您想获取变量的值,请尝试使用
=> display < variable-name>
此行将在每一步显示该变量....如果您想取消显示它,请使用此命令。
=> undisplay < 输出中变量名之前显示的数字 >
还可以尝试输入“帮助”,这将列出您在调试时可以使用的所有命令。试试看。
我们可以使用'p'、'pp'、'eval'、'list'等。