Используйте инструменты усиления отладки
Не поддается пониманию тот факт, что некоторые компании позволяют разработчикам тратить недели на поиск ошибки, расходуя тысячи долларов, тогда как инструменты повышения эффективности и покрытия кода (code coverage) помогли бы им найти текущую ошибку (и ошибки, с которыми они столкнутся в будущем) за считанные минуты.
Прежде чем приступить к интенсивной отладке, я всегда запускаю программу под BoundsChecker/SmartCheck от NuMega (инструмент обнаружения ошибки), TrueTime (инструмент контроля эффективности) и TrueCoverage (инструмент покрытия кода). Другие компании, такие как Rational Software и MuTek Solutions, выпускают продукты с сопоставимыми функциональными. Применение дополнительных инструментов позволяет эффективнее расходовать время, чем при обычной работе с отладчиком.
Рассмотрим кратко назначение инструментов перечисленных типов. Инструмент обнаружения ошибок ищет неправильные обращения к памяти, недействительные параметры системных API-функций и СОМ-интерфейсов, утечки памяти и ресурсов и многое другое. Инструмент контроля эффективности помогает проследить, где именно приложение работает медленно, причем, как правило, оказывается, что это совсем не то место, о котором мы думали. Инструмент покрытия кода показывает строки исходного кода, которые не осуществляются при выполнении программы. Эта информация полезна, потому что поиск ошибки целесообразно ограничить теми строками кода, которые выполняются.