2017-03-20 10 views
20

Próbuję przeanalizować projekt WPF (WPF, .NET 4.6.1, EF 6, Moq., Na maszynie i5 z 64-bitowym W10) przy użyciu profilera wydajności z aktywowaną tylko "Osią czasu".Dlaczego zatrzymanie sesji diagnostycznej VS 2015 trwa wiecznie?

Problem polega na tym, że po zatrzymaniu programu utknąłem w zakładce "Report ..... diagsession" z komunikatem "Microsoft Visual Studio zatrzymuje sesję diagnostyczną" i obracającą się klepsydrą. Czasami to się kończy, czasami dochodzę do raportu, ale od 5 do 20 minut później.

Co ciekawe, czas oczekiwania na zatrzymanie sesji diagnostycznej jest zawarty w raporcie. To tak, jakby proces zbierania danych nie powodował zatrzymania nagrywania.

Korzystanie z Windows Resource Monitor Zauważyłem, że program VsStandardCollector.exe zapisuje ogromne ilości danych do podfolderu w "C: \ Users \ XXX \ AppData \ Local \ Temp \". Około 9 gigabajtów w mojej ostatniej próbie, obejmujące łącznie 10 minut, podczas gdy moja aplikacja działała tylko przez 30 sekund, zanim ją zatrzymałem.

Ktoś, kto ma pojęcie, co może spowodować opóźnienie w przerwaniu sesji?

CPU i wykorzystanie dysku jest bardzo niska w czasie oczekiwania (< 5%)

+0

wyłącz to! Narzędzia> Opcje> Debugowanie> Ogólne> Włącz narzędzia diagnostyczne podczas debugowania –

+3

@DmitrySavy: Używam profilera wydajności celowo, aby zobaczyć, które wizualizacje WPF zjadają mój procesor. Nie chcę tego wyłączać, chcę go użyć. –

+1

@ Daniel Hillebrand, więc używasz narzędzia Oś czasu aplikacji w obszarze Debug-> Performance Profiler ..., mam rację? Jeśli tak, czy zmienisz tryb docelowy z trybu debugowania na zwolnienie? Oczyść również poprzednie pliki raportu z folderu projektu lub skopiuj je do innego folderu, zanim je usuniesz, a następnie oczyść i skompiluj aplikację, a następnie przeprowadź ponowne jej profilowanie. –

Odpowiedz

2

Ostatnio nauczyłem o PerfView narzędziem, które służy do analizy wyników nawet wewnątrz Microsoft. Jest znacznie tańszy niż VisualStudio, w rzeczywistości jest darmowy.

Można go użyć do analizy wydajności Visual Studio, aby odpowiedzieć na pytanie, a nawet lepiej - użyć go do analizy wydajności własnej aplikacji WPF.

Powiązane problemy