Прежде чем начать отладку, нужно определить, что считать ошибкой. Я определяю это так: ошибка есть то, что приносит огорчение пользователю. Моя классификация ошибок такова:
противоречивые интерфейсы пользователя;
несоответствие ожиданиям;
низкая производительность;
аварийные завершения или искажение (разрушение) данных.