set_trace_func(proc) â proc
set_trace_func(nil) â nil
set_trace_func(nil) â nil
Instance Public methods
Establishes proc as the handler for tracing, or disables tracing
if the parameter is nil
.
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
-
raise an exception
-
return
-
return from a Ruby method
Tracing is disabled within the context of proc.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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 |
Please login to continue.