oleg63 Ответов: 2

C++ как я могу обнаружить утечки памяти(новейшие инструменты, методы)?


В старые времена я использовал BoundsChecker для обнаружения утечек памяти C++. Он был очень хорош для 32-битной версии, но никогда не работал на 100% под 64-битной версией, без поддержки новых API, поэтому мы отказались от этого инструмента.
- Просто интересно, как в наши дни разработчики C++ справляются с утечками памяти?
Сейчас я работаю с Visual Studio 2015. Какие-нибудь новые инструменты/методы борьбы с утечками памяти?

Спасибо.

Что я уже пробовал:

пока ничего ......................

2 Ответов

Рейтинг:
2

Stefan_Lang

VS сбрасывает все неизданные блоки памяти в окно вывода при обычном завершении программы в режиме отладки.

Кроме этого, единственное предложение, которое я могу сделать, - это использовать интеллектуальные указатели в вашем коде, а не необработанные указатели.


oleg63

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

Ожидание того, что дезинфицирующее средство адреса сможет работать на 64-битной версии.

Stefan_Lang

Хорошо, если у вас такая большая кодовая база:

Мы использовали электроинструменты Clang, но утечки памяти-это не совсем его сила. Может, все-таки стоит посмотреть. Я обнаружил, что после запуска кода через clang-tidy и format ошибки, которые все еще находятся в вашем коде, становятся гораздо более очевидными

Рейтинг:
1

Ramza360

Используя Visual Studio 2015, Вы имеете встроенный профилировщик. Могут быть и другие, но этот работает довольно хорошо.

Проверять Сюда!.