Сколько времени вы максимально искали баг?
Если баг воспроизводится, и время от запуска программы до момента, когда эффект, вызванный этим багом, меньше 10 минут (под дебагером), то обычно дня хватает. При условии, что он не вызван неправильным пониманием поведения чужой программы (скажем, плохо документированным форматом их входных данных, которые должны создаваться моей программой).
В случае, если баг возникает редко, зависит от аппаратуры и компьютера, на которых идёт запуск, то могут уйти и годы. Анализируются лог-файлы, уточняется место, где что-то пошло не так, придумываются дополнительные промежуточные проверки, дополнительная отладочная печать - и программа снова отправляется на работу, до следующего проявления бага.
Когда то давно, после 10 часов работы, искал часа 2 ошибку в запросе, свел всё к select * form contacts, ошибка "FROM keyword not found where expected".  
Для себя сделал вывод: если не могу найти ошибку в течение 15-20 минут -  отвлекаюсь, пью кофе. Потом, если сходу не могу найти проблему - отладчики и тд как писалось выше.
Так и объясни - искал и устранял проблему в течении 2 дней.