Как использовать файл дампа для диагностики утечки памяти?

У меня есть служба .NET с нормальным частным рабочим набором около 80 МБ. В недавнем нагрузочном тесте процесс достиг 3,5 ГБ памяти, что привело к нехватке физической памяти на всей машине (использовалось 3,9 из 4 ГБ), и память не высвобождалась спустя долгое время после остановки нагрузочного теста. Используя диспетчер задач, я взял дамп файла процесса и открыл его в Visual Studio 2010 SP1, и я могу начать его отладку.

Как мне диагностировать проблему с памятью? В моем распоряжении есть dotTrace Memory 3.x, поддерживает ли он память профилирование файлов дампа? Если нет, помогут ли функции профилирования памяти Visual Studio 2010 Premium (сейчас у меня Professional)? Может ли WinDbg помочь?

ОБНОВЛЕНИЕ: Новая Visual Studio 2013 Ultimate теперь может самостоятельно диагностировать проблемы с памятью с помощью файлов дампа. Подробнее см. в этом сообщении в блоге . с.

68
задан Thomas Weller 4 September 2015 в 21:05
поделиться