Подтвердить что ты не робот

Лучший способ отслеживать утечку памяти (С#) можно увидеть только в одном окне клиента

Каков наилучший способ отслеживания утечки памяти, который можно найти только в одном тестовом окне/выпуске клиента, а где нет?

4b9b3361

Ответ 1

dotTrace3.1

(Этот вопрос любопытный, потому что я отслеживаю утечку mem, которого нет на моей машине...)

Ответ 2

Попробуйте профайлер памяти, например ANTI Profiler.

Ответ 3

Если у пользователя есть проблема, он последовательно, возьмите stackdump и проанализируйте стандартным способом.

Ответ 4

Здесь есть опция: Дайте им поле, где утечки нет.

Иногда это не код.

Изменить: Это либо код, либо данные, либо конфигурация.

Или .NET Framework, ОС, драйверы, IIS или COM (например, автоматизация Excel) или так далее.

Мое предположение заключается в том, что утечка памяти не воспроизводится, кроме как на клиентском ящике (которому разработчику не разрешается доступ для отладки).

Ответ 5

Это либо код, данные, либо конфигурация.

Поскольку вы говорите, что код не неисправен в 100% случаев, я бы назвал конфигурацию. Возьмите копию конфигурации (и, возможно, некоторые данные) и попытайтесь воспроизвести проблему; вы не узнаете, что нашли и исправили его без воспроизведения.

Наконец, решите его с помощью профайлера памяти.

Ответ 6

PerfMon может быть полезным (http://dotnetdebug.net/2005/06/30/perfmon-your-debugging-buddy/). Есть несколько счетчиков, которые могут помочь сузить, какой ресурс протекает, и с какой скоростью и т.д.