Debugging, like programming, is both art and science. There are wonderful new tools to support finding that defect that someone else put into your code - hey it wasn't me my dog made that typo that took days to find ... The oldest debugging technique that I know is the language equivalent of Ruby's puts "DEBUG my_variable: #{my_variable}" The ubiquitous named variable value output. It not only gices you the value of the variable it also provides a tracing capability. Regardless of how good our tools get, sometimes it is the old ways that help find the problems. That is why I wrote the "debug_me" gem a long time ago. I still use it in large rails applications trying to find out which of the thousands of M or V or C components is causing the problem. Just because something is old, doesn't mean it has no value. 0-*