U:RDoc::AnyMethod[iI"set_trace_func:ETI"Kernel#set_trace_func;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"@Establishes _proc_ as the handler for tracing, or disables ;TI"'tracing if the parameter is +nil+.;To:RDoc::Markup::BlankLineo; ; [I"D*Note:* this method is obsolete, please use TracePoint instead.;T@o; ; [I"'_proc_ takes up to six parameters:;T@o:RDoc::Markup::List: @type: BULLET: @items[ o:RDoc::Markup::ListItem: @label0; [o; ; [I"an event name;To;;0; [o; ; [I"a filename;To;;0; [o; ; [I"a line number;To;;0; [o; ; [I"an object id;To;;0; [o; ; [I"a binding;To;;0; [o; ; [I"the name of a class;T@o; ; [I"0_proc_ is invoked whenever an event occurs.;T@o; ; [I"Events are:;T@o; ; : NOTE;[ o;;[I" +c-call+;T; [o; ; [I"call a C-language routine;To;;[I"+c-return+;T; [o; ; [I"%return from a C-language routine;To;;[I" +call+;T; [o; ; [I"call a Ruby method;To;;[I" +class+;T; [o; ; [I"'start a class or module definition;To;;[I" +end+;T; [o; ; [I"(finish a class or module definition;To;;[I" +line+;T; [o; ; [I"execute code on a new line;To;;[I" +raise+;T; [o; ; [I"raise an exception;To;;[I" +return+;T; [o; ; [I"return from a Ruby method;T@o; ; [I"6Tracing is disabled within the context of _proc_.;T@o:RDoc::Markup::Verbatim; [I" class Test ;TI" def test ;TI" a = 1 ;TI" b = 2 ;TI" end ;TI" end ;TI" ;TI"I set_trace_func proc { |event, file, line, id, binding, classname| ;TI"L printf "%8s %s:%-2d %10s %8s\n", event, file, line, id, classname ;TI" } ;TI" t = Test.new ;TI" t.test ;TI" ;TI"- line prog.rb:11 false ;TI"- c-call prog.rb:11 new Class ;TI"- c-call prog.rb:11 initialize Object ;TI"-c-return prog.rb:11 initialize Object ;TI"-c-return prog.rb:11 new Class ;TI"- line prog.rb:12 false ;TI"- call prog.rb:2 test Test ;TI"- line prog.rb:3 test Test ;TI"- line prog.rb:4 test Test ;TI", return prog.rb:4 test Test;T: @format0: @fileI"vm_trace.c;T:0@omit_headings_from_table_of_contents_below0I"Dset_trace_func(proc) -> proc set_trace_func(nil) -> nil ;T0[I" (p1);T@FI" Kernel;TcRDoc::NormalModule00