Udostępnij przez


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

Za pomocą funkcji IntelliTrace można rejestrować zdarzenia i wywołania metod w aplikacji, co pozwala sprawdzić jej stan (stos wywołań i wartości zmiennych lokalnych) w różnych punktach wykonania. Po prostu rozpocznij debugowanie jak zwykle — funkcja IntelliTrace jest domyślnie włączona i widać, że informacje intelliTrace są nagrywane w nowym oknie Narzędzia diagnostyczne na karcie Zdarzenia . Wybierz zdarzenie i kliknij pozycję 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>. Opcja IntelliTrace powinna być domyślnie zaznaczona.

Uwaga / Notatka

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 rejestruje IntelliTrace (C#, Visual Basic)

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

Jeśli debugujesz, zatrzymaj debugowanie. Przejdź do Narzędzia > Opcje > IntelliTrace > Zdarzenia IntelliTrace. 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 przy każdym zdarzeniu kroku debugowania. Można następnie wyświetlać te migawki w sesji debugowania historycznego. Migawka zapewnia widok całego stanu aplikacji. Aby włączyć przechwytywanie migawek, przejdź do Narzędzia > Opcje > IntelliTrace > General, a następnie wybierz 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 połączeniach 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.

Wskazówka

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 jego wyświetlanie na ekranie lub jego zapis na dysku.

Możesz zmniejszyć obciążenie wydajnościowe, ograniczając listę zdarzeń zapisywanych przez IntelliTrace i utrzymując liczbę zbieranych modułów na minimalnym poziomie. Aby uzyskać więcej informacji, zobacz Kontrolowanie liczby informacji o wywołaniach rejestrowanych przez IntelliTrace.

Użyj korytarza nawigacyjnego

Możesz użyć nawigacyjnego paska po lewej stronie okna kodu. Jeśli nie widzisz krawędzi nawigacji, przejdź do Narzędzia Opcje IntelliTrace Zaawansowane, a następnie wybierz pozycję Wyświetlaj krawędź 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ń:

Command Description
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ś wskaźnik i kontekst debugowania z powrotem do miejsca, w którym 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ś wskaźnik i kontekst debugowania z powrotem do poprzedniego wywołania lub zdarzenia.

Jeśli korzystasz z trybu debugowania na żywo, to polecenie włącza debugowanie historyczne.
Wejdź 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ś wskaźnik i kontekst debugowania do następnego wywołania lub zdarzenia, dla którego dostępne są 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.

Szukaj wiersza lub metody w IntelliTrace

Można wyszukiwać metody tylko wtedy, gdy włączono informacje o wywołaniach metod. 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.

Kontroluj ilość informacji o połączeniach zapisywanych przez 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 modułów, które Cię interesują. 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 metod, które wystąpiły w modułach, które Cię interesują.

Aby dodać wiele modułów, użyj symbolu wieloznakowego * na początku lub na końcu ciągu. W przypadku nazw modułów użyj nazw plików, a 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 przetworzenia.

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

Możesz zapisać dane zebrane przez IntelliTrace, przechodząc do Debugowanie > IntelliTrace > Zapisz sesję IntelliTrace podczas debugowania, gdy 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ć maksymalny rozmiar wygenerowanego pliku, co powoduje, że funkcja IntelliTrace nadpisuje starsze dane, gdy plik osiągnie swój limit przestrzeni. 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.

Wskazówka

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 do pliku otrzymasz jeden plik .itrace dla każdego procesu, z którego IntelliTrace zbiera dane. 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).

Blogs

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

Custom TraceSource i debugowanie za pomocą IntelliTrace

Fora

Debuger programu Visual Studio