Udostępnij za pośrednictwem


Uruchamianie narzędzi profilowania w wersjach produkcyjnych lub debugowych (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 CPU i użycie pamięci, mogą być uruchamiane w kompilacjach wydania lub podczas debugowania aplikacji (kompilacja debug). Narzędzia wyświetlane w oknie narzędzia diagnostyczne uruchamiane tylko podczas sesji debugowania. Narzędzia, które są wyświetlane w Profilowanie wydajności działają niezależnie od debugera, zazwyczaj na wersjach produkcyjnych, i analizujesz wyniki po wybraniu zatrzymania i zbierania danych (na potrzeby analizy retrospektywnej).

Profiler wydajności oraz zintegrowane z debugerem narzędzia diagnostyczne dostarczają różnych informacji i doświadczeń. Podczas korzystania z narzędzi diagnostycznych debuger wyświetla wartości zmiennych i umożliwia korzystanie z punktów przerwania.

Najdokładniejsze i najbardziej precyzyjne wyniki wydajności wersji kompilacyjnej w profilerze wydajności. Te narzędzia zapewniają wyniki bliższe doświadczeniom użytkownika końcowego. Zazwyczaj jest to preferowana metoda używania narzędzi profilowania. Mogą jednak wystąpić scenariusze, w których użycie debugera w kompilacji debug może pomóc zawęzić problem z wydajnością, zwłaszcza jeśli chcesz korzystać z funkcji debugera, takich jak punkty przerwania i krokowe wykonanie kodu.

Aby ułatwić podjęcie decyzji o użyciu narzędzi profilowania w kompilacjach wydań lub debugowania, rozważ następujące kwestie:

  • Kompilacje wydania zapewniają optymalizacje, takie jak inlinowanie wywołań funkcji i stałych, oczyszczanie nieużywanych ścieżek kodu i przechowywanie zmiennych w sposób, który uniemożliwia ich użycie przez debuger. Liczby wydajności w kompilacjach debugowania są mniej dokładne, ponieważ kompilacje debugowania nie mają tych optymalizacji.
  • Poza różnicami między wersjami kompilacyjnymi a wersjami do debugowania, sam debuger wpływa na czasy wydajności, wykonując niezbędne operacje, takie jak na przykład przechwytywanie wyjątków i zdarzeń ładowania modułu.
  • W przypadku problemów z wydajnością spowodowanych wywołaniami intensywnie korzystającymi z procesora mogą występować znaczne różnice wydajności między wersjami produkcyjnymi a wersjami debugowania. Sprawdź, czy problem z wydajnością procesora istnieje w wersjach produkcyjnych.
  • Problemy z wydajnością zewnętrzną, takie jak problemy z wejściem/wyjściem pliku lub reakcją sieci, nie będą wyglądać znacznie inaczej w wersji produkcyjnej lub wersji debugowej.
  • Jeśli problem występuje tylko w przypadku wersji debug, prawdopodobnie nie trzeba uruchamiać narzędzi na wersjach release.
  • Niektóre narzędzia, takie jak narzędzie alokacji obiektów platformy .NET, są dostępne tylko w profilerze wydajności (scenariuszach innych niż debuger).

Zbieranie danych profilowania w kompilacjach wydania

Aby zebrać dane wydajności gotowych kompilacji, uruchom narzędzia profilowania wydajności.

  1. Po otwarciu projektu w programie Visual Studio ustaw konfigurację rozwiązania na Releasei wybierz Local Windows Debugger (lub Local Machine) jako cel wdrożenia.

  2. Wybierz Debuguj profiler wydajności>lub naciśnij 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.

    Zrzut ekranu przedstawiający narzędzia diagnostyczne.

    Zrzut ekranu przedstawiający narzędzia diagnostyczne.

  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.

    Zrzut ekranu przedstawiający zbieranie danych w profilerze wydajności.

    Zrzut ekranu przedstawiający zbieranie danych na Profilu Wydajności.

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

    Przeanalizowane dane są wyświetlane na stronie raportu .

    Aby uzyskać więcej informacji o narzędziach dostępnych do użycia w kompilacjach wydań i sposobie analizowania raportów, zobacz:

    Notatka

    Użyj opcji uruchom ponownie, aby pominąć stronę startową i automatycznie uruchomić z poprzednimi ustawieniami za pomocą Alt+F2 lub klikając Debug > Analizator Wydajności.

  6. (Opcjonalnie) Zapisz raport, a następnie możesz otworzyć go później z listy Ostatnio otwarte sesje na stronie uruchamiania Narzędzia diagnostyczne.

    Zrzut ekranu przedstawiający listę ostatnio otwieranych sesji narzędzi diagnostycznych.

    zrzut ekranu przedstawiający listę ostatnio otwartych sesji narzędzi diagnostycznych.

Zbieranie danych profilowania podczas debugowania

Po rozpoczęciu debugowania w programie Visual Studio, po wybraniu Debugowanie>Rozpocznij debugowanielub naciśnięciu F5, okno Narzędzia diagnostyczne wyświetla się domyślnie. Aby otworzyć go ręcznie, wybierz pozycję Debugowanie>Windows>Pokaż narzędzia diagnostyczne. W oknie „Narzędzi Diagnostycznych” wyświetlane są informacje o zdarzeniach, pamięci procesów, użyciu CPU oraz licznikach platformy .NET.

zrzut ekranu okna Narzędzi diagnostycznych. okno Narzędzi diagnostycznych

  • Użyj ikony Ustawienia na pasku narzędzi, aby wybrać, czy chcesz wyświetlić użycie procesora , użycie pamięci lub liczniki .NET .

Po rozpoczęciu debugowania w programie Visual Studio po wybraniu Debugowanie>Rozpocznij debugowanielub naciśnięciu F5, okno Narzędzia diagnostyczne pojawi się domyślnie. Aby otworzyć go ręcznie, wybierz pozycję Debugowanie>Windows>Pokaż narzędzia diagnostyczne. W oknie Diagnostic Tools są wyświetlane informacje o zdarzeniach, pamięci procesów i użyciu procesora CPU.

zrzut ekranu przedstawiający okno Narzędzia diagnostyczne

  • Użyj ikony Ustawienia na pasku narzędzi, aby wybrać, czy wyświetlić użycie procesora CPU, użycie pamięci lub analiza interfejsu użytkownika.
  • Wybierz pozycję Ustawienia na liście rozwijanej Ustawienia, aby otworzyć strony właściwości narzędzi diagnostycznych z większą liczbą opcji.

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

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

Aby uzyskać więcej informacji na temat narzędzi dostępnych podczas debugowania, 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, Pliki inne, umożliwiają szybkie przeszukiwanie listy w poszukiwaniu kategorii lub pominięcie tych, które Cię nie interesują.

Użyj listy rozwijanej filtru , aby filtrować zdarzenia w widoku i poza tym, wybierając lub usuwając określone kategorie zdarzeń.

Zrzut ekranu przedstawiający filtr zdarzeń diagnostycznych.

Zrzut ekranu filtru zdarzenia diagnostycznego

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

Zrzut ekranu przedstawiający wyszukiwanie Zdarzeń Diagnostycznych.

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

zrzut ekranu z wyszukiwania zdarzeń diagnostycznych

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

Zbieranie danych profilowania z wiersza polecenia

Aby zmierzyć dane wydajności z wiersza polecenia, można użyć 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 w wierszu polecenia.