3

デバッグするタスクにdebuggerandを追加しました。require '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 を付ける必要があります。

ちなみに、autoeval を設定するには、次の行を に追加します~/.rdebugrc

set autoeval

その後、デバッガーによって認識されないコマンドは、式を評価しようとしていると見なされるため、変数名を入力するだけでその値を取得できます。

于 2012-10-30T19:44:05.767 に答える
2

変数の値を取得したい場合は、
=> display < variable-name >を使用してみてください
。この行は、各ステップで変数を表示します....表示を解除したい場合は、このコマンドを使用します。
=> 非表示 < 出力の変数名の前に表示される数値 >

また、「help」と入力してみてください。これにより、デバッグ中に使用できるすべてのコマンドが一覧表示されます。それらを試してみてください。
「p」、「pp」、「eval」、「list」などを使用できます。

于 2012-11-02T18:48:00.923 に答える