Остерегайтесь проверки границ Compuware:
Это стабильно до определенного момента. Это стоит около 3600 долларов, и примерно столько же для поддержания из года в год.
Но это арахис по сравнению с Coverity.
Я не получал хороший тестовый прогон для работы прямо под Bounds Checker за последние 3 года. Вот почему я больше не пользуюсь им, и поэтому я не рекомендую использовать его, за исключением небольших, крошечных проектов. В больших корпоративных приложениях он слишком медленный, занимает слишком много памяти и просто перестает работать. Я имею в виду действительно, вы хотите, чтобы ваше приложение заняло 5 минут для загрузки? Вы хотите, чтобы выполнение тестов занимало в 3 раза больше времени? Хуже всего, это тенденция просто запереться. Поддержка клиентов от Compuware была довольно ограниченной. Но средство проверки границ было продано другой компании (не помню их названия), чей веб-сайт настолько анисептичен, стерилен и сух, что веб-сайты финансовых компаний выглядят интересными.
Но проблема BoundsChecker в том, что она 32-битная. Так что если вам нужно профилировать большое приложение, которое занимает много памяти (более 1 гигабайта), вам просто не повезло. Bounds Checker съедает от 2 до 3 гигабайт памяти из вашего приложения. А с 32-битными приложениями вы хорошо знаете, что 4 гигабайта - это вершины, которые вы получаете.
Укрытие прекрасно, если вы нанимаете человека, чтобы присматривать за ним. Серьезно Coverity стоит больше, чем мой дом. Это не говоря уже о человеке, которого моя компания слишком наняла бы, чтобы присматривать за этой чертовой штукой. Это занимает 24 часа, чтобы сделать это волшебство. И это не делает намного больше волшебства, чем простая компиляция кода на уровне предупреждения 4 и включение «Анализ кода» (в visual studio).
Я пробовал другие инструменты утечки памяти (для собственного кода). Все они отстойные, слишком сложные или просто старые блокируют систему.
Мне так противно все поле профилировщиков памяти, что я просто хочу вернуться к использованию отладочной CRT. Это или просто напиши свое.
Что касается инструментов покрытия кода, Bullseye выигрывает. Почему детектор утечки памяти не может работать так же надежно, как яблочко?