Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 zarówno w kompilacjach produkcyjnych, jak i podczas debugowania aplikacji (kompilacjach debugowych). Narzędzia wyświetlane w oknie narzędzia diagnostyczne uruchamiane tylko podczas sesji debugowania. Narzędzia, które pojawiają się w profilerze wydajności, działają bez debugera, zazwyczaj w kompilacjach w wersji do wydania, i analizujesz wyniki po zadecydowaniu o zatrzymaniu i zebraniu danych (na potrzeby analizy post-factum).
Profiler wydajności i zintegrowane z debugerem narzędzia diagnostyczne zapewniają różne informacje i doświadczenia. Podczas korzystania z narzędzi diagnostycznych debuger wyświetla wartości zmiennych i umożliwia korzystanie z punktów przerwania.
Numery wydajności kompilacji wersji w profilerze wydajności są najbardziej precyzyjne i dokładne. Narzędzia te dostarczają wyniki bliższe rzeczywistemu doświadczeniu użytkownika końcowego. Zazwyczaj jest to preferowana metoda używania narzędzi profilowania. Mogą jednak pojawić się sytuacje, w których użycie debuggera w wersji debugowej może pomóc w zawężeniu problemu z wydajnością, zwłaszcza jeśli chcesz korzystać z funkcji debuggera, takich jak punkty przerwań i śledzenie kodu krok po kroku.
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 wykonywanie wstawek wywołań funkcji i stałych, usuwanie nieużywanych ścieżek kodu oraz przechowywanie zmiennych w sposób, który nie może być analizowany przez debuger. Liczby wydajności w kompilacjach debugowania są mniej dokładne, ponieważ kompilacje debugowania nie mają tych optymalizacji.
- Oprócz różnic między kompilacjami wydania a kompilacjami debugowania, sam debuger zmienia czasy wydajności, ponieważ wykonuje niezbędne operacje, takie jak przechwytywanie wyjątków i zdarzeń ładowania modułu.
- W przypadku problemów z wydajnością spowodowanych wywołaniami obciążającymi procesor mogą występować znaczne różnice wydajności między wersjami produkcyjną i debug. Sprawdź, czy problem z wydajnością procesora istnieje w wersjach produkcyjnych.
- Problemy zewnętrzne dotyczące wydajności, takie jak operacje wejścia/wyjścia plików lub opóźnienia sieciowe, nie będą wyglądać znacznie inaczej w wersji produkcyjnej czy w kompilacji debug.
- Jeśli problem występuje tylko w przypadku wersji debugowych, prawdopodobnie nie trzeba uruchamiać narzędzi z wersjami wydań.
- 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 wersjach produkcyjnych
Aby zebrać dane wydajności dla wersji wydawniczych, uruchom narzędzia Profilera wydajności.
Po otwarciu projektu w programie Visual Studio ustaw konfigurację rozwiązania na Releasei wybierz Local Windows Debugger (lub Local Machine) jako cel wdrożenia.
Wybierz pozycję Debugowanie profilera wydajności>lub naciśnij Alt+F2.
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 opcję Pokaż wszystkie narzędzia, aby również zobaczyć narzędzia dezaktywowane dla tej sesji diagnostycznej.
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.
Aby zakończyć sesję diagnostyczną, wybierz pozycję Zatrzymaj zbieranie.
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:
- Analizowanie wydajności przy użyciu profilowania procesora CPU
- Analizowanie użycia pamięci
- Analizowanie użycia pamięci dla kodu platformy .NET
- Analizowanie danych instrumentacji
- Analiza liczników .NET
- Analizowanie wydajności kodu asynchronicznego platformy .NET
- analizowanie wydajności bazy danych
- Wyświetlanie zdarzeń
- analizowanie użycia procesora GPU
Notatka
Użyj ponownego uruchomienia, aby pominąć stronę uruchamiania i automatycznie uruchomić przy użyciu poprzednich ustawień za pomocą Alt+F2 lub klikając pozycję Debug > Performance Profiler.
(Opcjonalnie) Zapisz raport, a następnie możesz otworzyć go później z listy Ostatnio otwarte sesje na stronie uruchamiania Narzędzia diagnostyczne.
Zbieranie danych profilowania podczas debugowania
Po rozpoczęciu debugowania w programie Visual Studio po wybraniu Debugowanie>Rozpocznij debugowanielub naciśnięciu F5zostanie domyślnie wyświetlone okno Narzędzia diagnostyczne. Aby otworzyć go ręcznie, wybierz pozycję Debugowanie>Windows>Pokaż narzędzia diagnostyczne. W oknie Narzędzia Diagnostycznego wyświetlane są informacje o zdarzeniach, pamięci procesów, użyciu procesora oraz licznikach .NET.
- Użyj ikony Ustawienia na pasku narzędzi, aby wybrać, czy wyświetlać użycie CPU , użycie pamięci lub liczniki .NET .
Po rozpoczęciu debugowania w programie Visual Studio po wybraniu Debugowanie>Rozpocznij debugowanielub naciśnięciu F5zostanie domyślnie wyświetlone okno Diagnostic Tools. 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.
- Użyj ikony Ustawienia na pasku narzędzi, aby wybrać, czy wyświetlić użycie CPU, użycie pamięci, lub analizę UI.
Wybierz pozycję Ustawienia na liście rozwijanej Ustawienia, aby otworzyć strony właściwości Narzędzia diagnostyczne 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:
- Mierzenie wydajności aplikacji przez analizę użycia procesora
- Mierzenie użycia pamięci w programie Visual Studio
- Analizuj liczniki .NET
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 pod kątem kategorii lub pomijanie tych, które Cię nie interesują.
Użyj listy rozwijanej filtru , aby włączać lub wyłączać zdarzenia z widoku, wybierając lub odznaczając określone kategorie zdarzeń.
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ń:
Użyj pola wyszukiwania, aby znaleźć określony ciąg na liście zdarzeń. Poniżej przedstawiono wyniki wyszukiwania ciągu nazwą, które odpowiadają czterem wydarzeniom:
Aby uzyskać więcej informacji, zobacz Wyszukiwanie i filtrowanie na karcie 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.