Любые предложения? Это сообщение SO сообщает о Visual Leak Detector, но я ищу другие инструменты. Кроме того, не рекомендуется this.
Visual С++ - обнаружение утечки памяти
Ответ 1
Я использовал Visual Leak Detector совсем недавно, и он работает очень хорошо. Его очень просто собрать (просто включить vld.h
) и не требует никаких инструментов. Я обнаружил, что мне нужно написать пару скриптов, но для анализа вывода в нечто более полезное для моих целей (это крик для достойного графического интерфейса). Обратите внимание на новый сайт - проект активно поддерживается на Codeplex - ссылка Codeproject очень старая.
Ответ 2
Попробуйте Deleaker или DevPartner, они оба достаточно хороши.
обновление:
С++ Memory Validator работает отлично и справедливо оценивается.
Ответ 3
Если вы можете позволить себе некоторые деньги, используйте Intel Parallel Inspector (http://software.intel.com/en-us/intel-parallel-inspector).
Он не требует каких-либо модификаций кода и предоставляет хорошие отчеты.
Мне пришлось искать хорошие инструменты, чтобы сделать это в работе, и что лучший инструмент (безусловно), который я нашел.
Ответ 4
Как предложил Ной Робертс, я тоже почувствовал, что Memory validator является лучшим инструментом для обнаружения утечек в Visual Studio.
Очистка также работает.
Ответ 5
Недавно был задан аналогичный вопрос, но связанный с 2010 годом: Профилирование/обнаружение VS2010
Если вы не используете 2010, вы можете рассмотреть AQtime. Это не слишком страшно в самое время. Бывают моменты, когда не удается найти объект, связанный с утечкой, и просто говорит "crt memory" или что-то еще.
Другой, который я недавно попробовал, называется "Memory Validator". Не совсем хороший интерфейс, но он, похоже, работает, и работает с 2010 года (просто нет никакого другого профилирования в нем, чего я ожидаю в таком коммерческом инструменте).
Возможно, GlowCode, как упоминалось в других похожих вопросах, на SO, когда я искал, прежде чем спрашивать.
Ответ 6
Существует также верификатор приложения. Он может отслеживать целую кучу других проблем, кроме утечек, таких как места, где вы забываете освобождать объекты win32, такие как дескрипторы и т.д....
Ссылка MSDN: http://msdn.microsoft.com/en-us/library/ms220948(VS.80).aspx
Ответ 7
Jacob, инструмент BoundsChecker внутри DevPartner Studio содержит два типа детекторов утечек для VС++. Неинструментальная версия будет табулировать утечки при завершении процесса. Детектор с инструментами времени компиляции разрушает утечки во время протекания утечки, отображая как текущий стек вызовов в точке утечки, так и трассировку стека распределения, показывающую, где была выделена утечка. 64-разрядная версия DPS и BoundsChecker 10.5 отправляется 4 февраля 2011 года с поддержкой x64-приложений для Visual Studio 2010, 2008 и 2005. У нас также есть новая модель ценообразования, поэтому вы можете лицензировать только функции BoundsChecker и ugrade до полного DPS если вы обнаружите, что вам понадобятся другие профилировщики или возможности статического анализа позже. Не забудьте также торговаться с продавцом. Цена платежного списка - это как цена наклейки на новый автомобиль. Бесстыдный плагин: я работаю над командой DevPartner. DPS 10.5 представляет мою команду большой выпуск технических возможностей, поскольку Compuware закрыл лабораторию NuMega. Оцените его для своего приложения и технического стека, когда 10.5 выйдет в прямом эфире. Приветствия. Matt Schuetze, владелец продукта DevPartner (и да, что означает ПО в обычных командных ролях Scrum.)
Ответ 8
VLD нельзя доверять более серьезным проектам.
У Intel есть хороший инструмент под названием Inspector.
После 3-дневного поиска хорошего инструмента для поиска утечек в бинарных файлах x64 с С++ в Visual Studio это единственный хороший вариант, который я нашел.
Ответ 9
Попробуйте Dr.Memory. Они имеют правильную визуальную студийную интеграцию, а документация отличная. Простота в использовании.
Ответ 10
http://www.saunalahti.fi/~tarmpika/diagnostic/
Я пробовал так много детекторов утечки памяти, что их было сложно подсчитать. Некоторые из них разбились, некоторые из них дали недействительные результаты, некоторые из них просто не помогли. В конце концов, я сделал свой собственный детектор утечек, но вложил в него столько усилий, что сделало его несвободным на время. Поддерживаемые управляемые/встроенные/32 и 64-разрядные архитектуры.