Лучший способ отследить утечку памяти (C #), видимую только на коробке одного клиента - PullRequest
12 голосов
/ 30 сентября 2008

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

Ответы [ 6 ]

4 голосов
/ 30 сентября 2008

Попробуйте профилировщик памяти, например ANTS Profiler .

4 голосов
/ 30 сентября 2008

dotTrace3.1

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

0 голосов
/ 17 октября 2008

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

0 голосов
/ 30 сентября 2008

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

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

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

0 голосов
/ 30 сентября 2008

Вот вариант: дайте им коробку, в которой нет утечки.

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

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

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

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

0 голосов
/ 30 сентября 2008

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

...