2012-07-25 6 views
9

を:Rubyデバッガがブロックに直接ステップインしますか?次のRubyコードで

#! /usr/bin/env ruby 

require 'debugger' 

def hello 
    puts "hello" 
    if block_given? 
    yield 
    end 
end 

def main 
    debugger 
    puts "test begin..." 
    hello do # <= if you are here 
    puts "here!" #<= how to get here without setting bp here or step into hello? 
    end 
end 

main 

これは、デバッグ中に非常に一般的ですが、私は手動せずに、私は直接ブロックへのステップにしたい、ブロックに与える機能の実装を気にしませんそこにブレークポイントを設定します。

ruby​​-debug19またはデバッガには、このような「ステップインブロック」がサポートされていますか?

答えて

12

continue」の「c」コマンドを試しましたか?これはオプションで行番号を取るので、コードサンプルに基づいて試してみてください:

c 16 
+0

これは私が望んでいた「現在のブロックへのステップ」に近いです。 –

+0

これはどのように役立ちますか? 'c'はそれを最後まで走らせませんか? – Leopd

+0

'c16'は16行目まで実行されます。ドキュメント:'オプションの引数行指定で、そのブレークポイントに達すると削除される1回限りのブレークポイントを設定する行番号を指定できます。 –

関連する問題