3

我在我的任务中添加debuggerrequire 'ruby-debug'调试它。

当我从控制台运行我的任务时,它确实命中了debugger,但不允许我检查任何变量。例如,如果我的任务中有一行:

my_var = 1 + 2

我输入my_varor my_var.inspect,在调试时,它说:

*** Unknown command: "my_var".  Try "help".

我错过了什么?

4

3 回答 3

5

尝试运行

e my_var

如果默认情况下未设置 autoeval,则必须在任何评估表达式前加上 e。

顺便说一句,要设置自动评估,请将以下行放入~/.rdebugrc

set autoeval

完成此操作后,调试器无法识别的任何命令都将被视为尝试评估 en 表达式,因此您只需键入变量名称即可获取其值。

于 2012-10-30T19:44:05.767 回答
2

赶紧跑

p my_var 

有关更多选项,请键入帮助

于 2012-11-01T20:53:10.053 回答
2

如果您想获取变量的值,请尝试使用
=> display < variable-name>
此行将在每一步显示该变量....如果您想取消显示它,请使用此命令。
=> undisplay < 输出中变量名之前显示的数字 >

还可以尝试输入“帮助”,这将列出您在调试时可以使用的所有命令。试试看。
我们可以使用'p'、'pp'、'eval'、'list'等。

于 2012-11-02T18:48:00.923 回答