From: Larry D'Anna Date: 2002-07-04T07:11:30+09:00 Subject: Re: set_trace_func * Lyle Johnson (lyle@users.sourceforge.net) [020703 15:34]: > Larry D'Anna wrote: > > > >Where can I find documentation on this function? It doesn't appear to > >be in the reference. Thanks > > > > --larry > > > > http://www.rubycentral.com/book/ref_m_kernel.html#Kernel.set_trace_func Thanks. An excerpt from debug.rb, inside a trace_func, switching on the event: when 'call' @frames.unshift [binding, file, line, id] if check_break_points(file, id.id2name, binding, id) or check_break_points(klass.to_s, id.id2name, binding, id) suspend_all debug_command(file, line, id, binding) end when 'c-call' frame_set_pos(file, line) So when your program executes a normal method call the debugger makes a record of a new stack frame, but if it executes a method call to a c function then it resets it's idea of where you are in the current frame. This results in you not being able to skip over a require unless the require loads a .so instead of a .rb. For some reason setting a breakpoint later in the program isn't working for me either. --larry