Uruchamianie narzędzi profilowania z debugerem (C#, Visual Basic, C++, F#)

Program Visual Studio oferuje wybór narzędzi do pomiaru wydajności i profilowania. Niektóre narzędzia, takie jak użycie procesora CPU i użycie pamięci, mogą działać z debugerem lub bez debugera oraz w konfiguracjach kompilacji wydania lub debugowania. Narzędzia wyświetlane w oknie Narzędzia diagnostyczne są uruchamiane tylko podczas sesji debugowania. Narzędzia wyświetlane w profilerze wydajności działają bez debugera i analizujesz wyniki po wybraniu zatrzymania i zebrania danych (na potrzeby analizy pośmiertnej).

Uwaga

Możesz użyć narzędzi wydajności innych niż debuger z systemem Windows 7 lub nowszym. System Windows 8 lub nowszy jest wymagany do uruchamiania narzędzi profilowania zintegrowanego z debugerem.

Profiler wydajności bez debugera i zintegrowane narzędzia diagnostyczne debugera zapewniają różne informacje i środowiska. Narzędzia zintegrowane z debugerem pokazują wartości zmiennych i umożliwiają korzystanie z punktów przerwania. Narzędzia inne niż debuger zapewniają wyniki bliżej środowiska użytkownika końcowego.

Aby zdecydować, które narzędzia i wyniki mają być używane, rozważ następujące opcje:

  • Narzędzie zintegrowane z debugerem a narzędzie inne niż debuger

    • Problemy z wydajnością zewnętrzną, takie jak problemy z czasem odpowiedzi we/wy pliku lub sieci, nie będą wyglądać znacznie inaczej w narzędziach debugera lub nie debugera.
    • Sam debuger zmienia czasy wydajności, ponieważ niezbędne są operacje debugera, takie jak przechwytywanie zdarzeń ładowania wyjątków i modułów.
    • Numery wydajności kompilacji wydania w profilerze wydajności są najbardziej dokładne i dokładne. Wyniki narzędzia zintegrowanego z debugerem są najbardziej przydatne do porównywania z innymi pomiarami związanymi z debugowaniem lub używaniem funkcji debugera.
    • Niektóre narzędzia, takie jak narzędzie alokacji obiektów platformy .NET, są dostępne tylko dla scenariuszy innych niż debuger.
  • Debugowanie a kompilacja wydania

    • W przypadku problemów spowodowanych wywołaniami intensywnie korzystającymi z procesora CPU mogą występować znaczne różnice wydajności między kompilacjami wydania i debugowania. Sprawdź, czy problem istnieje w kompilacjach wydania.
    • Jeśli problem występuje tylko podczas kompilacji debugowania, prawdopodobnie nie trzeba uruchamiać narzędzi innych niż debuger. W przypadku problemów z kompilacją wydania zdecyduj, czy funkcje udostępniane przez narzędzia zintegrowane z debugerem pomogą w określeniu problemu.
    • Kompilacje wydania zapewniają optymalizacje, takie jak tworzenie wywołań funkcji i stałych, oczyszczanie nieużywanych ścieżek kodu i przechowywanie zmiennych w sposób, który nie może być używany przez debuger. Liczby wydajności w kompilacjach debugowania są mniej dokładne, ponieważ kompilacje debugowania nie mają tych optymalizacji.

Zbieranie danych profilowania podczas debugowania

Po rozpoczęciu debugowania w programie Visual Studio po wybraniu pozycji Debuguj>rozpocznij debugowanie lub naciśnięciu klawisza F5 domyślnie zostanie wyświetlone okno Narzędzia diagnostyczne. Aby otworzyć go ręcznie, wybierz pozycję Debuguj>narzędzia diagnostyczne Windows>Show Diagnostic Tools. W oknie Narzędzia diagnostyczne są wyświetlane informacje o zdarzeniach, pamięci procesu, użyciu procesora CPU i licznikach platformy .NET.

Screenshot of the Diagnostic Tools window.

Po rozpoczęciu debugowania w programie Visual Studio po wybraniu pozycji Debuguj>rozpocznij debugowanie lub naciśnięciu klawisza F5 domyślnie zostanie wyświetlone okno Narzędzia diagnostyczne. Aby otworzyć go ręcznie, wybierz pozycję Debuguj>narzędzia diagnostyczne Windows>Show Diagnostic Tools. W oknie Narzędzia diagnostyczne są wyświetlane informacje o zdarzeniach, pamięci procesu i użyciu procesora CPU.

Screenshot of the Diagnostic Tools window

  • Użyj ikony Ustawienia na pasku narzędzi, aby wybrać, czy chcesz wyświetlić użycie pamięci, analizę interfejsu użytkownika i użycie procesora CPU.

  • Wybierz Ustawienia z listy rozwijanej Ustawienia, aby otworzyć strony właściwości Narzędzia diagnostyczne z większą większa liczba opcji.

  • Jeśli używasz programu Visual Studio Enterprise, możesz włączyć lub wyłączyć funkcję IntelliTrace, przechodząc do pozycji Narzędzia>Opcje>IntelliTrace.

Sesja diagnostyczna kończy się po zakończeniu debugowania.

Uwaga

Użyj ponownego uruchomienia, aby pominąć stronę uruchamiania i automatycznie uruchomić przy użyciu poprzednich ustawień za pomocą klawiszy Alt+F2 lub klikając pozycję Debugowanie > profilera wydajności.

Aby uzyskać więcej informacji, zobacz:

Karta Zdarzenia

Podczas sesji debugowania karta Zdarzenia w oknie Narzędzia diagnostyczne zawiera listę zdarzeń diagnostycznych, które występują. Prefiksy kategorii Punkt przerwania, Plik i inne umożliwiają szybkie skanowanie listy pod kątem kategorii lub pomijanie kategorii, o których nie dbasz.

Lista rozwijana Filtr umożliwia filtrowanie zdarzeń w widoku i poza tym przez wybranie lub wyczyszczenie określonych kategorii zdarzeń.

Screenshot of Diagnostic Event filter.

Screenshot of Diagnostic Event filter

Użyj pola wyszukiwania, aby znaleźć określony ciąg na liście zdarzeń. Poniżej przedstawiono wyniki wyszukiwania modelu nazw plików, który był zgodny z trzema zdarzeniami:

Screenshot of Diagnostic Event search.

Użyj pola wyszukiwania, aby znaleźć określony ciąg na liście zdarzeń. Poniżej przedstawiono wyniki wyszukiwania nazwy ciągu pasujących do czterech zdarzeń:

Screenshot of Diagnostic Event search

Aby uzyskać więcej informacji, zobacz Wyszukiwanie i filtrowanie kartę Zdarzenia w oknie Narzędzia diagnostyczne.

Zbieranie danych profilowania bez debugowania

Aby zbierać dane wydajności bez debugowania, możesz uruchomić narzędzia profilera wydajności.

  1. Po otwarciu projektu w programie Visual Studio ustaw konfigurację rozwiązania na Release (Wydanie) i wybierz pozycję Local Windows Debugger (lub Local Machine) jako element docelowy wdrożenia.

  2. Wybierz pozycję Debugowanie>profilera wydajności lub naciśnij klawisze Alt+F2.

  3. Na stronie uruchamiania narzędzi diagnostycznych wybierz co najmniej jedno narzędzie do uruchomienia. Wyświetlane są tylko narzędzia, które mają zastosowanie do typu projektu, systemu operacyjnego i języka programowania. Wybierz pozycję Pokaż wszystkie narzędzia, aby wyświetlić również narzędzia wyłączone dla tej sesji diagnostycznej.

    Screenshot of diagnostic tools.

    Screenshot of diagnostic tools

  4. Aby rozpocząć sesję diagnostyczną, wybierz pozycję Uruchom.

    Podczas uruchamiania sesji niektóre narzędzia pokazują wykresy danych w czasie rzeczywistym na stronie narzędzi diagnostycznych i mogą wyświetlać opcje wstrzymywania i wznawiania zbierania danych.

    Screenshot of data collection on the Performance Profiler.

    Screenshot of data collection on the Performance Profiler

  5. Aby zakończyć sesję diagnostyczną, wybierz pozycję Zatrzymaj kolekcję.

    Przeanalizowane dane są wyświetlane na stronie Raport .

Możesz zapisać raporty i otworzyć je z listy Ostatnio otwarte sesje na stronie uruchamiania Narzędzia diagnostyczne.

Screenshot of Diagnostic Tools Recently Opened Sessions list.

Screenshot of Diagnostic Tools Recently Opened Sessions list

Aby uzyskać więcej informacji, zobacz:

Zbieranie danych profilowania z wiersza polecenia

Aby zmierzyć dane wydajności z wiersza polecenia, możesz użyć narzędzia VSDiagnostics.exe, który jest dołączony do programu Visual Studio lub narzędzi zdalnych. Jest to przydatne w przypadku przechwytywania śladów wydajności w systemach, w których program Visual Studio nie jest zainstalowany lub do tworzenia skryptów zbierania śladów wydajności. Aby uzyskać szczegółowe instrukcje, zobacz Mierzenie wydajności aplikacji z poziomu wiersza polecenia.