Type:
Class

A class that provides the functionality of Kernel#set_trace_func in a nice Object-Oriented API.

Example

We can use TracePoint to gather information specifically for exceptions:

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

trace.enable
#=> #<TracePoint:0x007f786a452448>

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

Events

If you don't specify the type of events you want to listen for, TracePoint will include all available events.

Note do not depend on current event set, as this list is subject to change. Instead, it is recommended you specify the type of events you want to use.

To filter what is traced, you can pass any of the following as events:

:line

execute code on a new line

:class

start a class or module definition

:end

finish a class or module definition

:call

call a Ruby method

:return

return from a Ruby method

:c_call

call a C-language routine

:c_return

return from a C-language routine

:raise

raise an exception

:b_call

event hook at block entry

:b_return

event hook at block ending

:thread_begin

event hook at thread beginning

:thread_end

event hook at thread ending

disable

trace.disable â true or falsetrace.disable { block } â obj Instance Public methods

2015-06-09 17:29:53
inspect

trace.inspect â string Instance Public methods Return a string containing

2015-06-09 17:46:01
new

TracePoint.new(*events) { |obj| block } â obj Class Public methods Returns

2015-06-09 17:14:17
defined_class

defined_class() Instance Public methods Return class or module of the method

2015-06-09 17:23:13
binding

binding() Instance Public methods Return the generated binding object from event

2015-06-09 17:19:33
trace

TracePoint.trace(*events) { |obj| block } â obj Class Public methods A

2015-06-09 17:18:06
enable

trace.enable â true or falsetrace.enable { block } â obj Instance Public methods

2015-06-09 17:35:39
path

path() Instance Public methods Path of the file being run

2015-06-09 17:58:16
enabled?

trace.enabled? â true or false Instance Public methods The current

2015-06-09 17:40:49
raised_exception

raised_exception() Instance Public methods Value from exception raised on the

2015-06-09 18:02:01