Есть такие ошибки, над которыми можно сидеть часами и днями в дебагере, ведрами поглощая кофе, наспех вспоминая шаманские танцы, надеясь, что хоть они помогут. Это убийственные ошибки, берегитесь их!
1. Использование неинициализированных переменных
2. Синхронизация потоков
3. Ошибки работы с указателями
4. Чередование в одном проекте обычных и умных указателей
5. Использование С-ишных строк и функций работы с ними взамен stl контейнеров
6. Использование массивов ограниченной длины взамен stl контейнеров
7. Переполнения буферов, переполнения стека
8. Утечки ресурсов
9. Бесконечные рекурсии
10. Отсутствие у базового класса виртуального деструктора
Увы, список неполный...