こんにちは、kouya です。 tracerのリファレンスマニュアルを書いています。 下記スクリプトでは、ruby 1.8, 1.9では 1.9では例えば、 puts Hoge.fuga(i) if i % 2 == 0 のあたりで、「ある行を実行」のトレースがでてこないのですが、 http://doc.loveruby.net/refm/api/view/method/Tracer/s/add_filter 1.9ではそういうのをやめてしまったということでしょうか。 よろしくお願いします。 require 'tracer' class Hoge def Hoge.fuga(i) "fuga #{i}" end end i = 0 Tracer.on { puts Hoge.fuga(i) if i % 2 == 0 } 以下出力 $ rubyall -v t1.rb ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.2.0] #0:t1.rb:14::-: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14::-: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:Fixnum:>: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:Fixnum:<: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:Fixnum:>: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:Fixnum:<: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:6:Hoge:>: def Hoge.fuga(i) #0:t1.rb:7:Hoge:-: "fuga #{i}" #0:t1.rb:7:Fixnum:>: "fuga #{i}" #0:t1.rb:7:Fixnum:<: "fuga #{i}" #0:t1.rb:8:Hoge:<: end #0:t1.rb:14:Kernel:>: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:IO:>: puts Hoge.fuga(i) if i % 2 == 0 fuga 0#0:t1.rb:14:IO:<: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:IO:>: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:IO:<: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:Kernel:<: puts Hoge.fuga(i) if i % 2 == 0 ruby 1.9.0 (2008-08-09 revision 18293) [i686-darwin9.4.0] #0:t1.rb:7:Fixnum:>: "fuga #{i}" #0:t1.rb:7:Fixnum:<: "fuga #{i}" #0:t1.rb:14:Kernel:>: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:IO:>: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:IO:>: puts Hoge.fuga(i) if i % 2 == 0 fuga 0#0:t1.rb:14:IO:<: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:IO:>: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:IO:<: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:IO:<: puts Hoge.fuga(i) if i % 2 == 0 #0:t1.rb:14:Kernel:<: puts Hoge.fuga(i) if i % 2 == 0 -- kouya