Как получить память, которую потребляет функция - PullRequest
2 голосов
/ 27 марта 2009

Наше приложение потребляет много памяти, и нам нужно определить, какая функция вызывает максимальное использование памяти. Есть ли у них какой-либо способ или вообще какой-либо существующий инструмент для этого (Windows, Native)?

Вот среда:

Windows Xp

VS2008

Родной C ++ (на основе MFC)

Большое спасибо.

Ответы [ 3 ]

3 голосов
/ 27 марта 2009

Если у вас есть Visual Studio 2008 Team System, вы можете использовать профилировщик встроенной памяти . Вот хорошая статья MSDN, Поиск узких мест приложений с помощью Visual Studio Profiler с использованием VS2008. Также есть профилировщик блог .

Муравьи RedGate

MemProfiler

ValGrind (бесплатно)

РЕДАКТИРОВАТЬ: так как вы обновились, чтобы указать C ++, пожалуйста, смотрите также SO ответ .

См. Также:

.NET Профилирование памяти Инструменты

Есть ли у кого-нибудь здесь любимый инструмент для профилирования памяти / утечки памяти, который он хотел бы использовать для своих веб-приложений Java?

Лучший профилировщик памяти и производительности .NET?

0 голосов
/ 27 марта 2009

Большинство инструментов / профилировщиков работают только с приложениями .NET, которые в вашем случае отсутствуют

Я использовал Boundschecker и Purify для проверки утечек памяти / профилирования памяти для собственных приложений (они получили пробные версии AFAIK), но вы также можете использовать встроенные функции для этой цели, если вы просто заинтересованы в однократном анализ

ищите _crtCheckMemory в вашей онлайн-справке для определения местоположения.

0 голосов
/ 27 марта 2009

Используйте профилировщик. такие как AQTime Automated QA - http://www.automatedqa.com/products/aqtime/index.asp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...