VaDump не перечисляет использование памяти DLL - PullRequest
0 голосов
/ 08 апреля 2011

Я пытаюсь профилировать большое приложение WPF с помощью VADump. Меня больше всего интересует рабочий набор библиотек DLL. Однако когда я запускаю VADump в своем приложении с помощью команды vadump -sop [processID] , информация в этой категории не отображается. У него есть заголовки, но библиотеки DLL не указаны.

Если я запускаю VADump в небольшом приложении, я получаю результаты. Я использую последнюю версию VADump. Это на Windows 7 x64, .Net 4.0 и Visual Studio 2010 Pro.

Вопросы, на которые я смотрел:

Использование VADump для отслеживания использования памяти - Сбой OpenProcess c0000034

Есть мысли? Я знаю, что VADump - более старый инструмент.

1 Ответ

1 голос
/ 08 апреля 2011

Это в основном потому, что DLL не владеют памятью. Процесс делает. Куча для сбора мусора, особенно управляемая, принадлежит домену приложений и используется всеми загруженными в него библиотеками DLL. Может быть неуправляемая DLL, которая создала свою собственную кучу, как правило, делают COM-серверы. Но это редко.

VADump также не поможет при диагностике кучи gc, используйте специфический для .NET профилировщик памяти. Бесплатный CLR Profiler, доступный от Microsoft, например. Это не стоит денег, которые вы платите за это. Уже есть несколько вопросов о профилировщиках, используйте поле поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...