2014-07-14 20 views
10

Chcę użyć profilera pamięci w programie visual studio 2013 ultimate do profilowania aplikacji WPF. Ale wydaje się, że jest problem: Po uruchomieniu profilera nie ma danych dostępnych/pokazanych. używam Windows 8.1 x64VS2013: Program do profilowania pamięci nie wyświetla niczego w konkretnym projekcie.

otrzymuję ten błąd:

DA0002: It appears that the file was collected without properly setting the environment variables with VSPerfCLREnv.cmd. Symbols for managed binaries may not resolve.

nieparzystych rzeczy są: profilowanie CPU pracuje z tego projektu i profilowanie pamięci wydaje się pracować nad innymi projektami (I stworzyliśmy nowy WPF projekt z pustym oknem i przetestował tam profiler pamięci i pokazano dane). Przetestowałem również konkretny projekt na innej maszynie z tym samym wynikiem (nic nie pokazano).

Co również zrobiłem: Użyłem VSPerfCLREnv do ustawienia zmiennych środowiskowych zgodnie z komunikatem o błędzie powyżej. Próbowałem rozwiązanie tego pytania: How do I run the Visual Studio 2012 memory profiler? I'm getting the error DA0002, ale część z VSPerfCmd tak naprawdę nie działa (otrzymałem komunikat, że powinienem użyć VSPerf.exe, ale to też nie działa).

Myślę, że to nie jest problem z VS2013 w ogóle, ale z moim projektem. Wymieniony projekt, w którym występuje ten problem, to aplikacja WPF. Zawiera asynchroniczny serwer gniazd (oparty na SocketAsyncEventArgs).

Oczyściłem rozwiązanie, ustawiłem debugowanie na x86, usunięto wszystkie nieużywane referencje projektu i ustawiłem docelowy framework z .net4.5 na .net4. Nic się nie zmieniło. Nie mam pojęcia, dlaczego profilowanie pamięci nie działa. Może bufory gniazd są winne tego (ponieważ nie są zarządzane przez .net)?

+0

Po aktualizacji do VS2013 Update 2 profilowanie pamięci działało raz (pokazano niektóre dane), ale po tym wystąpił błąd DA0002. – Rul3r

+0

To bardziej przypomina hazard: czasami profilowanie pamięci działa, czasami nie. Mniej więcej co piąta próba prowadzi do działającego profilu pamięci. Moje rozwiązanie: używam teraz JetBrains dotMemory – Rul3r

+0

Nie znam odpowiedzi na twoje pytanie, ale mogę gorąco polecić ci to narzędzie: http://memprofiler.com/. Niestety jest bezpłatny przez około tydzień użytkowania (nie tydzień od instalacji). –

Odpowiedz

0
  • Powinieneś wypróbować najnowsze aktualizacje Visual Studio i aktualizacje systemu Windows.
  • prowadzony Visual Studio jako Administrator
  • nie wiem, czy dotyczy to jednak może mógłby pomóc: https://support.microsoft.com/en-us/kb/300956

To sprawia, że ​​zastanawiasz się, że czasami działa. Może jakieś oprogramowanie antywirusowe lub problem ze sterownikiem?