Профиль памяти С#

Я пытаюсь выполнить профилирование памяти для приложений, которые накапливают большие объемы памяти.

Я нашел этот инструмент (CLRPProfiler): http://msdn.microsoft.com/en-us/library/ff650691.aspx

Но, похоже, это не работает. Когда я запускаю его, он всегда находится в состоянии «Ожидание запуска общеязыковой среды выполнения приложения».

Любые другие предложения о том, как я могу профилировать память в С#?


person Kyle    schedule 26.05.2011    source источник
comment
Вы используете правильную версию? Имейте в виду, что есть 32-битная версия и 64-битная. Это должно соответствовать настройкам сборки вашего приложения.   -  person Mr47    schedule 26.05.2011


Ответы (5)


Проверьте Редгейт:

http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/

person Shane Castle    schedule 26.05.2011

Если вы работаете с W7 или Vista, запустите его от имени администратора (Файл->Контекстное меню->Запуск от имени администратора). Как уже говорили другие, также проверьте, чтобы использовать правильную версию.

person HCL    schedule 26.05.2011
comment
@Zenox: Вы выбрали правильную версию clr в поле со списком Target CLR Version? До .net 3.51 выберите V2 Desktop CLR, выше — используйте версию V4. У вас есть последний профайлер clr (V4)? Я помню, что у меня была та же проблема, что и у вас, но запуск с повышенными правами решил проблему (убедитесь, что у вас не запущен другой экземпляр профилировщика clr). Однако после того, как профилировщик CLR заработал, я переключился на memprofiler.com Действительно впечатляющий этот инструмент... - person HCL; 27.05.2011
comment
Для меня мне понадобилась комбинация этого ответа и комментария выше, что интересно, потому что мой коллега может запустить его, не выбирая администратора, и может оставить его с v4 CLR для запуска того же самого приложения, поэтому это кажется немного случайным! - person Alan Macdonald; 17.07.2013

Вы, вероятно, используете неправильную версию!

Новая версия (v4.0) находится по адресу http://www.microsoft.com/en-us/download/details.aspx?id=16273, который у меня хорошо работает (и он бесплатный).

person JCH2k    schedule 01.10.2012

Если ваш проект настроен на сборку x86, вам необходимо использовать 32-разрядную версию, даже если ваша ОС 64-разрядная.

person John C    schedule 15.11.2012

Вы можете использовать коммерческий продукт, например профилировщик памяти муравьев. (красные ворота) или dotTrace (jetbrains).

С обоими очень легко начать.

person Oded    schedule 26.05.2011