Funkcje IntelliTrace (C#, Visual Basic, C++)

Za pomocą funkcji IntelliTrace można rejestrować zdarzenia i metody wywołujące aplikację, co pozwala sprawdzić jego stan (stos wywołań i wartości zmiennych lokalnych) w różnych punktach wykonywania. Po prostu rozpocznij debugowanie jak zwykle — funkcja IntelliTrace jest domyślnie włączona, a informacje intelliTrace są rejestrowane w nowym oknie Narzędzia diagnostyczne na karcie Zdarzenia . Wybierz zdarzenie i kliknij przycisk Aktywuj debugowanie historyczne, aby wyświetlić stos wywołań i ustawienia lokalne zarejestrowane dla tego zdarzenia.

Aby zapoznać się z opisem krok po kroku, zobacz Przewodnik: korzystanie z funkcji IntelliTrace.

Funkcja IntelliTrace jest dostępna w wersji Visual Studio Enterprise, ale nie w wersjach Visual Studio Professional lub Community.

Aby upewnić się, że funkcja IntelliTrace jest włączona, otwórz stronę Opcje narzędzi > IntelliTrace>. Włącz funkcję IntelliTrace należy domyślnie sprawdzać.

Uwaga

Zakres wszystkich ustawień na stronie opcji IntelliTrace jest programem Visual Studio jako całością, a nie poszczególnymi projektami ani rozwiązaniami. Zmiana tych ustawień dotyczy wszystkich wystąpień programu Visual Studio, wszystkich sesji debugowania i wszystkich projektów lub rozwiązań.

Wybierz zdarzenia, które rekordy IntelliTrace (C#, Visual Basic)

Można włączyć lub wyłączyć nagrywanie dla określonych zdarzeń IntelliTrace.

Jeśli debugujesz, zatrzymaj debugowanie. Przejdź do pozycji Narzędzia > Opcje IntelliTrace > IntelliTrace > Events. Wybierz zdarzenia, które mają być rejestrowane przez funkcję IntelliTrace.

Zbieranie migawek (C#, Visual Basic, C++)

Nie jest to domyślnie włączone, ale funkcja IntelliTrace może przechwytywać migawki aplikacji w każdym punkcie przerwania i zdarzeniu kroku debugera. Te migawki można wyświetlić w historycznej sesji debugowania. Migawka zapewnia widok stanu pełnej aplikacji. Aby włączyć przechwytywanie migawek, przejdź do pozycji Narzędzia > Opcje > IntelliTrace General i wybierz pozycję Migawki IntelliTrace > (zarządzane i natywne). Aby uzyskać więcej informacji, zobacz Inspekcja poprzednich stanów aplikacji przy użyciu funkcji IntelliTrace.

Migawki są dostępne w programie Visual Studio Enterprise 2017 w wersji 15.5 lub nowszej oraz wymagają aktualizacji rocznicowej systemu Windows 10 lub nowszej. W przypadku aplikacji .NET Core i ASP.NET Core wymagany jest program Visual Studio Enterprise 2017 w wersji 15.7. W przypadku aplikacji natywnych przeznaczonych dla systemu Windows wymagany jest program Visual Studio Enterprise 2017 w wersji 15.9 (wersja zapoznawcza 2).

Zbieranie zdarzeń IntelliTrace i informacji o wywołaniu (C#, Visual Basic)

Nie jest to domyślnie włączone, ale funkcja IntelliTrace może rejestrować wywołania metod wraz ze zdarzeniami. Aby włączyć zbieranie wywołań metod, przejdź do pozycji Narzędzia > Opcje > IntelliTrace Ogólne, a następnie wybierz zdarzenia IntelliTrace > i informacje o wywołaniu (tylko zarządzane).

Informacje o wywołaniu nie są obecnie dostępne dla aplikacji .NET Core i ASP.NET Core.

Dzięki temu można zobaczyć historię stosu wywołań i przejść do tyłu i do przodu za pomocą wywołań w kodzie. Funkcja IntelliTrace rejestruje dane, takie jak nazwy metod, punkty wejścia i wyjścia metody oraz niektóre wartości parametrów i zwracane wartości.

Napiwek

Ta opcja nie jest domyślnie włączona, ponieważ dodaje znaczne obciążenie. Nie tylko intelliTrace musi przechwytywać każdą metodę wywoływaną przez aplikację, ale także musi zajmować się znacznie większym zestawem danych, jeśli chodzi o pokazywanie go na ekranie lub utrwalanie go na dysku.

Możesz zmniejszyć obciążenie związane z wydajnością, ograniczając listę zdarzeń rekordów IntelliTrace i utrzymując liczbę zbieranych modułów do minimum. Aby uzyskać więcej informacji, zobacz Kontrolowanie ilości informacji o wywołaniu rekordów IntelliTrace.

Korzystanie z rynny nawigacji

Możesz użyć wypowiedzi nawigacji wyświetlanej po lewej stronie okna kodu. Jeśli nie widzisz gutter nawigacji, przejdź do pozycji Narzędzia > Opcje > IntelliTrace > Advanced, a następnie wybierz pozycję Wyświetl gutter nawigacji w trybie debugowania.

Gutter nawigacji umożliwia przechodzenie do przodu i do tyłu za pomocą wywołań metod i zdarzeń w trybie debugowania historycznego. Aby uzyskać więcej informacji na temat debugowania historycznego, zobacz Debugowanie historyczne. Zawiera on wiele poleceń:

Polecenie opis
Ustaw tutaj kontekst debugera Ustaw kontekst debugowania na przedział czasu wywołania, w którym się pojawia.

Ta ikona jest wyświetlana tylko na bieżącym stosie wywołań.
Wróć do witryny połączenia Przenieś kontekst wskaźnika i debugowania z powrotem do lokalizacji, w której została wywołana bieżąca funkcja.

Jeśli korzystasz z trybu debugowania na żywo, to polecenie włącza debugowanie historyczne. Jeśli wrócisz do oryginalnego przerwania wykonywania, debugowanie historyczne jest wyłączone i debugowanie na żywo jest włączone.
Przejdź do poprzedniego wywołania lub zdarzenia IntelliTrace Przenieś kontekst wskaźnika i debugowania z powrotem do poprzedniego wywołania lub zdarzenia.

Jeśli korzystasz z trybu debugowania na żywo, to polecenie włącza debugowanie historyczne.
Krok w Przejście do aktualnie wybranej funkcji.

To polecenie jest dostępne tylko wtedy, gdy korzystasz z trybu debugowania historycznego.
Przejdź do następnego wywołania lub zdarzenia IntelliTrace Przenieś kontekst wskaźnika i debugowania do następnego wywołania lub zdarzenia, dla którego istnieją dane IntelliTrace.

To polecenie jest dostępne tylko wtedy, gdy korzystasz z trybu debugowania historycznego.
Przejdź do trybu na żywo Wróć do trybu debugowania na żywo.

Wyszukiwanie wiersza lub metody w funkcji IntelliTrace

Metody wyszukiwania można wyszukiwać tylko wtedy, gdy włączono informacje o wywołaniu metody. Możesz wyszukać historię intelliTrace dla określonego wiersza lub metody. Po zatrzymaniu wykonywania debugera kliknij prawym przyciskiem myszy treść funkcji, aby wyświetlić menu kontekstowe, a następnie kliknij polecenie Wyszukaj tę LIne w funkcji IntelliTrace lub Wyszukaj tę metodę w funkcji IntelliTrace.

Kontrolowanie ilości informacji o wywołaniu rekordów IntelliTrace

Domyślnie funkcja IntelliTrace rejestruje informacje dotyczące wszystkich modułów używanych przez rozwiązanie. Funkcję IntelliTrace można ustawić tak, aby rejestrowała informacje o wywołaniu tylko dla interesujących Cię modułów. W obszarze Narzędzia > Opcje > modułów IntelliTrace > można określić moduły do uwzględnienia lub moduły do wykluczenia z funkcji IntelliTrace. Funkcja IntelliTrace będzie zbierać tylko zdarzenia pochodzące z określonych modułów oraz wywołania metody, które wystąpiły w zainteresowanych modułach.

Aby dodać wiele modułów, użyj symbolu wieloznacznego * na początku lub końcu ciągu. W przypadku nazwy modułów użyj nazw plików, nie nazw zestawów. Ścieżki plików nie są akceptowane.

Spróbuj zachować minimalną liczbę modułów. Uzyskujesz lepszą wydajność, ponieważ ilość danych do zebrania jest mniejsza. W interfejsie użytkownika występuje również mniej szumu, ponieważ istnieje mniej danych do przejścia.

Zapisywanie danych IntelliTrace w pliku (C#, Visual Basic, C++)

Możesz zapisać dane zebrane przez funkcję IntelliTrace, przechodząc do pozycji Debugowanie > sesji IntelliTrace Zapisz intelliTrace > podczas debugowania, a aplikacja jest w stanie przerwania. Element menu jest wyłączony i nie będzie można zapisać danych zbieranych przez funkcję IntelliTrace, jeśli aplikacja jest nadal uruchomiona lub czy zatrzymano debugowanie.

Możesz skonfigurować funkcję IntelliTrace do automatycznego zapisywania w pliku, przechodząc do pozycji Narzędzia > Opcje > IntelliTrace > Advanced i wybierając pozycję Przechowuj nagrania IntelliTrace w tym katalogu. Można również skonfigurować rozmiar zestawu dla wygenerowanego pliku, co powoduje, że funkcja IntelliTrace zapisuje dane w starszych danych, gdy zabraknie miejsca. Program Visual Studio tworzy dwa pliki dla każdej sesji IntelliTrace po ich automatycznym zapisaniu, a proces hostingu programu Visual Studio (vshost.exe) jest włączony.

Napiwek

Aby zaoszczędzić miejsce na dysku, wyłącz automatyczne zapisywanie plików, gdy nie są już potrzebne. Żadne istniejące pliki nie zostaną usunięte. Zawsze możesz zapisać plik na żądanie z menu kontekstowego.

Podczas zapisywania danych IntelliTrace w pliku uzyskasz jeden plik itrace dla każdego procesu, z którego zbierana jest funkcja IntelliTrace. Następnie możesz otworzyć plik itrace w programie Visual Studio, przechodząc do pozycji Plik > otwórz > plik i wybierając plik itrace w oknie dialogowym Otwieranie pliku. Aby uzyskać więcej informacji, zobacz Using saved IntelliTrace data (Używanie zapisanych danych IntelliTrace).

Blogi

IntelliTrace w programie Visual Studio Enterprise 2015

Funkcja IntelliTrace w programie Visual Studio Enterprise 2015 obsługuje teraz dołączanie!

Zbieranie danych z usługi systemu Windows przy użyciu autonomicznego modułu zbierającego IntelliTrace

Edytowanie planu kolekcji IntelliTrace

Niestandardowe źródło śledzenia i debugowanie przy użyciu funkcji IntelliTrace

Fora

Debuger programu Visual Studio