type=class
superclass=Object
included=
extended=
dynamically_included=
dynamically_extended=
library=_builtin
aliases=
aliasof=

[[m:Kernel.#set_trace_func]] と同様の機能をオブジェクト指向的な API で
提供するクラスです。

例:例外に関する情報を収集する

  trace = TracePoint.new(:raise) do |tp|
    p [tp.lineno, tp.event, tp.raised_exception]
  end
  # => #<TracePoint:0x007f786a452448>

  trace.enable
  # => false

  0 / 0
  # => [5, :raise, #<ZeroDivisionError: divided by 0>]

[[m:TracePoint.new]] または、[[m:TracePoint.trace]] で指定したブロック
は、メソッドの引数(上記の例では :raise)に対応するイベントが発生した時に
呼び出されます。

発生するイベントの詳細については、[[m:TracePoint.new]] を参照してくださ
い。

=== 参考

 * Ruby VM アドベントカレンダー #12 TracePoint の紹介 (1): [[url:http://www.atdot.net/~ko1/diary/201212.html#d12]]
 * Ruby VM アドベントカレンダー #13 TracePoint の紹介 (2): [[url:http://www.atdot.net/~ko1/diary/201212.html#d13]]
 * Ruby VM アドベントカレンダー #14 TracePoint の紹介 (3): [[url:http://www.atdot.net/~ko1/diary/201212.html#d14]]
