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.
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.