Visual C ++ - обнаружение утечек памяти - PullRequest
11 голосов
/ 12 мая 2010

Есть предложения? В этом посте говорится о Visual Leak Detector , но я ищу другие инструменты. Также, пожалуйста, не рекомендуйте это .

Ответы [ 10 ]

6 голосов
/ 10 августа 2010

Я использовал Visual Leak Detector совсем недавно, и он работает довольно хорошо. Это очень просто встроить (просто включите vld.h) и не требует никаких инструментов. Я обнаружил, что мне нужно было написать пару сценариев, чтобы разобрать вывод в нечто более полезное для моих целей (оно требует хорошего графического интерфейса) Обратите внимание на новый веб-сайт - проект активно поддерживается на Codeplex - ссылка на Codeproject очень старая.

4 голосов
/ 13 мая 2010

Попробуйте Deleaker или DevPartner , они оба достаточно хороши.

обновление:

C ++ Validator ,работает нормально и по справедливой цене.

2 голосов
/ 13 мая 2011

Если вы можете позволить себе немного денег, используйте Intel Parallel Inspector (http://software.intel.com/en-us/intel-parallel-inspector).

Не требует никаких изменений кода и предоставляет хорошие отчеты.

Мне пришлось искать хорошие инструменты, чтобы сделать это в работе, и это лучший (на данный момент) инструмент, который я нашел.

1 голос
/ 18 августа 2010

Как подсказал Ноа Робертс, я тоже считал, что средство проверки памяти - лучший инструмент для обнаружения утечек в Visual studio.

Очищение также работает.

0 голосов
/ 09 февраля 2016

http://www.saunalahti.fi/~tarmpika/diagnostic/

Я пробовал так много детекторов утечки памяти, что их сложно сосчитать. Некоторые из них потерпели крах, некоторые из них дали неверные результаты, некоторые просто не помогли. В конце концов я сделал свой собственный детектор утечек, но вложил в него столько усилий, что сделал его несвободным на время Поддерживаемые управляемые / собственные / 32- и 64-разрядные архитектуры.

0 голосов
/ 19 января 2015

Попробуйте Dr.Memory. Они имеют надлежащую визуальную студийную интеграцию и отличную документацию. Прост в использовании.

0 голосов
/ 25 февраля 2011

VLD нельзя доверять для более серьезных проектов.

У Intel есть хороший инструмент под названием Inspector.

После 3 дней поиска хорошего инструмента для поиска утечек в двоичных файлах x64 с C ++ в Visual Studio, это единственный хороший вариант, который я нашел.

0 голосов
/ 30 января 2011

Джейкоб, инструмент BoundsChecker в DevPartner Studio содержит два типа детекторов утечки для VC ++. Неструктурированная версия будет табулировать утечки при остановке процесса. Измерительный детектор времени компиляции будет прерываться при утечках в момент возникновения утечек, показывая как текущий стек вызовов в точке утечки, так и трассировку стека выделения, показывающую, где была выделена утечка памяти. 64-разрядная версия DPS и BoundsChecker 10.5 поставляется 4 февраля 2011 года с поддержкой приложений x64 для Visual Studio 2010, 2008 и 2005. У нас также есть новая модель ценообразования, поэтому вы можете лицензировать только функции BoundsChecker и перейти на полную версию DPS. комплект только в том случае, если позже вам понадобятся другие профилировщики или возможности статического анализа. Не забудьте торговаться с вашим торговым представителем тоже. Оплата по прайс-листу - это все равно, что платить наклейку на новый автомобиль. Бесстыдная вилка: я работаю в команде DevPartner. DPS 10.5 представляет самый большой выпуск технических возможностей моей команды с тех пор, как Compuware закрыла лабораторию NuMega. Пожалуйста, оцените его для вашего собственного приложения и технического стека, когда выйдет 10.5. Приветствия. Мэтт Шютце, владелец продукта DevPartner (и да, это означает ПО в обычных ролях команды Scrum.)

0 голосов
/ 14 августа 2010

Существует также верификатор приложения. Он может отслеживать целый ряд других проблем, кроме утечек, таких как места, где вы забыли освободить объекты win32, такие как дескрипторы и т.д ...

Ссылка MSDN: http://msdn.microsoft.com/en-us/library/ms220948(VS.80).aspx

0 голосов
/ 12 мая 2010

Задал аналогичный вопрос не так давно, но в частности, за 2010 год: Профилировщик VS2010 / обнаружение утечек

Если вы не используете 2010, вы можете рассмотреть AQtime. В большинстве случаев это не так уж страшно. Иногда думают, что он не может найти объект, связанный с утечкой, и просто говорит «crt memory» или что-то в этом роде.

Другой, который я недавно попробовал, называется «Проверка памяти». Не совсем приятный интерфейс, но, похоже, он работает и работает с 2010 годом (просто нет другого вида профилирования, чего я ожидаю от такого коммерческого инструмента).

Может быть, GlowCode, как было упомянуто в других подобных вопросах, на SO, когда я искал перед тем, как спросить.

...