It depends on the difficulty of the bug(s) that need to be localized and fixed.
I use a wide range of techniques from simple printf's all the way to a full-blown methodology that has not failed, especially when dealing with coupled bugs or those caused by concurrency issues, hardware and such.
I wrote about my methodology here: http://ortask.com/wp-content/uploads/fault_localization_impr...