こんにちは、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