Scott Rubin wrote: > Hi, > > I have a bug in one of my Ruby programs, and I'm having a hard time > fixing it. The problem isn't the bug itself, but the fact that Ruby > doesn't want to tell me where it is. Check this out. > > When the program fails I get something like this > ... > from /usr/lib/ruby/site_ruby/rexml/xpath_parser.rb:220:in `internal_parse' > ... 9 levels... > from ./conf_curses.rb:51:in `mmenu' > ... > > The bug would be easy to fix, but the problem lies in my code somewhere > in those invisible 9 levels. How do I make ruby show all the levels of > the trace no matter what? I can probably fix this bug easily if I could > see which file it came from. > > Thanks, > > Scott If you catch the exception yourself, you can print all backtrace levels: begin do_something_that_barfs rescue Exception => err puts err.class.name + ": " + err.message puts err.backtrace.join( "\n" ) end -- Jamis Buck jgb3 / email.byu.edu http://www.jamisbuck.org/jamis ruby -h | ruby -e 'a=[];readlines.join.scan(/-(.)\[e|Kk(\S*)|le.l(..)e|#!(\S*)/) {|r| a << r.compact.first };puts "\n>#{a.join(%q/ /)}<\n\n"'