VS2013: Профайлер памяти ничего не показывает в конкретном проекте

Я хочу использовать профилировщик памяти visual studio 2013 для профилирования приложения WPF. Но, похоже, проблема: после запуска профилировщика данных нет. Я использую Windows 8.1 x64

Я получаю эту ошибку:

DA0002: Кажется, что файл был собран без должного установка переменных среды с помощью VSPerfCLREnv.cmd. Символы для управляемые двоичные файлы могут не разрешаться.

Нечетные вещи: профилирование ЦП работает с этим проектом, и профилирование памяти, похоже, работает с другими проектами (я создал новый проект WPF с пустым окном и протестировал там профайлер памяти, и были показаны данные). Я также протестировал конкретный проект на другой машине с тем же результатом (ничего не было показано).

Что я также сделал: Я использовал VSPerfCLREnv для установки переменных среды, как указано в сообщении об ошибке выше. Я пробовал решить этот вопрос: Как запустить профилировщик памяти Visual Studio 2012? Я получаю ошибку DA0002, но часть с VSPerfCmd действительно не работает (получил сообщение, что я должен использовать VSPerf.exe, но это тоже не сработало).

Я думаю, что это не проблема с VS2013 в целом, но с моим проектом. Указанный проект, по которому возникает эта проблема, - это приложение WPF. Он включает асинхронный сервер сокетов (на основе SocketAsyncEventArgs).

Я очистил решение, установил отладку на x86, удалил все неиспользуемые ссылки проекта и установил целевую структуру с .net4.5 на .net4. Ничего не изменилось. Я понятия не имею, почему профилирование памяти не работает. Может быть, буферами сокетов является ошибка этого (поскольку они не управляются .net)?

Ответ 1

  • Вам следует попробовать обновленную визуальную студию и обновления Windows.
  • запустить Visual Studio в качестве администратора
  • не уверен, что это применимо, но может помочь: https://support.microsoft.com/en-us/kb/300956

Это заставляет меня задуматься, что это иногда работает. Возможно, какое-то антивирусное программное обеспечение или проблема с драйвером?