set_trace_func
set_trace_func(p1)
public
Establishes proc as the handler for tracing, or disables tracing if the parameter is nil.
Note: this method is obsolete, please use TracePoint instead.
proc takes up to six parameters:
-
an event name
-
a filename
-
a line number
-
an object id
-
a binding
-
the name of a class
proc is invoked whenever an event occurs.
Events are:
c-call |
call a C-language routine |
c-return |
return from a C-language routine |
call |
call a Ruby method |
class |
start a class or module definition |
end |
finish a class or module definition |
line |
execute code on a new line |
raise an exception | |
return |
return from a Ruby method |
Tracing is disabled within the context of proc.
class Test def test a = 1 b = 2 end end set_trace_func proc { |event, file, line, id, binding, classname| printf "%8s %s:%-2d %10s %8s\n", event, file, line, id, classname } t = Test.new t.test line prog.rb:11 false c-call prog.rb:11 new Class c-call prog.rb:11 initialize Object c-return prog.rb:11 initialize Object c-return prog.rb:11 new Class line prog.rb:12 false call prog.rb:2 test Test line prog.rb:3 test Test line prog.rb:4 test Test return prog.rb:4 test Test