Инструмент для диагностики утечек памяти в .NET (приложение ASP.NET)

нам нужен инструмент для простого обнаружения утечек памяти в приложении ASP.NET. У нас есть приложение, которое потребляет много памяти.

Спасибо


person ChaosSpeeder    schedule 23.01.2009    source источник


Ответы (9)


Использование WinDbg не так просто, как использование dotTrace, но оно может вам помочь чтобы обнаружить много странностей в вашем приложении. Помимо этого бесценную информацию об отладке приложений ASP.Net можно найти в блоге Тесс Феррандес.

person idursun    schedule 23.01.2009
comment
+1 за блог Тесс — видела ее подарок на Tech.Ed — она действительно знает свое дело, и ее блог полон полезных советов по отслеживанию проблем в приложениях ASP.NET. - person Zhaph - Ben Duguid; 24.01.2009
comment
И она собирается подготовить новый лабораторный набор :) - person idursun; 24.01.2009

Я опубликовал новую статью на эту тему в MSDN. Он содержит список инструментов.

person Fabrice    schedule 03.11.2009
comment
Я думаю, что знаю экраны, используемые в разделе пользовательских инструментов. Мы работали над одним продуктом :) - person pix; 14.10.2016

Роб Мариани написал хорошую статью о Отслеживание управляемых утечек памяти, что помогло мне отследить висячие ссылки в настольном приложении.

person Todd Smith    schedule 23.01.2009

Что ж, "легко" - это хитрость... однако dotTRACE, возможно, стоит взглянуть.

person Marc Gravell    schedule 23.01.2009

ознакомьтесь с FxCop от Microsoft. который также анализирует проблемы с производительностью и т. д.

person Spikolynn    schedule 23.01.2009

Профилировщик памяти .Net. Пользовался пробной версией один раз. Это было полезно, но мне это нужно не так часто, чтобы покупать его.

Я обнаружил, что ВСЕГДА убедитесь, что вы избавляетесь от любых ресурсов, особенно в DirectoryServices, которые реализуют IDisposable.

person tvanfosson    schedule 23.01.2009
comment
На самом деле, не пытайтесь избавиться от одноразовых статических ресурсов, таких как Brushes.Black, если вы собираетесь использовать их снова :) Узнал это на собственном горьком опыте... - person Spikolynn; 23.01.2009

Я читал об Ants Profiler. Удачи.

person tobsen    schedule 23.01.2009

Прочтите Тесс по адресу Если он неисправен, почините его, вы должны это сделать. Это должно привести вас на правильный путь.

person idstam    schedule 30.03.2009

Я тоже нашел это весьма полезным: http://www.codeproject.com/Articles/19490/Memory-Leak-Detection-in-NET

Резюме интересных моментов:

  1. Используйте Perfmon для мониторинга .Net CLR Locks/# текущих логических потоков, чтобы увидеть, создаете ли вы потоки, но не уничтожаете их.
  2. Используйте Perfmon для сравнения .Net CLR/# Bytes и Process/Private bytes, чтобы определить, происходит ли утечка управляемой или неуправляемой памяти.
  3. Предполагая утечку управляемой памяти, используя windbg/sos.dll для отслеживания ссылок
person steve cook    schedule 24.03.2014