Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Możesz poświęcić mniej czasu na debugowanie aplikacji, gdy używasz funkcji IntelliTrace do rejestrowania i śledzenia historii wykonywania kodu. Błędy można łatwo znaleźć, ponieważ funkcja IntelliTrace umożliwia wykonywanie następujących czynności:
Rejestrowanie określonych zdarzeń
Sprawdź powiązany kod, dane wyświetlane w oknie Ustawienia lokalne podczas zdarzeń debugera i informacje o wywołaniu funkcji
Błędy debugowania, które są trudne do odtworzenia lub które występują we wdrożeniu
Funkcji IntelliTrace można używać w programie Visual Studio Enterprise (ale nie w wersjach Professional lub Community).
Co chcesz zrobić?
| Scenariusz | Nazwa |
|---|---|
|
Debugowanie aplikacji za pomocą funkcji IntelliTrace: - Pokaż mi poprzednie wydarzenia. - Pokaż mi informacje o połączeniu wraz z wcześniejszymi zdarzeniami. - Zapisz moją sesję IntelliTrace. — Kontrolowanie danych zbieranych przez narzędzie IntelliTrace. |
-
Sprawdzanie poprzednich stanów aplikacji przy użyciu funkcji IntelliTrace - Przewodnik: korzystanie z funkcji IntelliTrace - Funkcje IntelliTrace - Debugowanie historyczne |
| Zbieranie danych intelliTrace z wdrożonych aplikacji | - Korzystanie z autonomicznego modułu zbierającego IntelliTrace |
| Rozpocznij debugowanie z pliku dziennika IntelliTrace (plik iTrace). | - Korzystanie z zapisanych danych IntelliTrace |
Jakie aplikacje można debugować za pomocą funkcji IntelliTrace?
| Poziom pomocy technicznej | Typy aplikacji |
|---|---|
| Pełna obsługa | — Aplikacje Visual Basic i Visual C# korzystające z programu .NET Framework 2.0 lub nowszego. Możesz debugować większość aplikacji, w tym ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Windows Workflow, SharePoint 2010, SharePoint 2013 oraz aplikacje 64-bitowe. Aby debugować aplikacje programu SharePoint za pomocą funkcji IntelliTrace, zobacz Przewodnik: debugowanie aplikacji programu SharePoint przy użyciu funkcji IntelliTrace. Aby debugować aplikacje platformy Microsoft Azure za pomocą funkcji IntelliTrace, zobacz Debugowanie opublikowanej usługi w chmurze za pomocą funkcji IntelliTrace i Visual Studio. |
| Ograniczona obsługa | — Aplikacje C++ przeznaczone dla systemu Windows obsługują wyświetlanie migawek przy użyciu funkcji IntelliTrace krok wstecz. Obsługiwane są tylko wydarzenia debugowania i wyjątki. — Aplikacje .NET Core i ASP.NET Core są obsługiwane tylko dla niektórych zdarzeń (zdarzenia kontrolera MVC, ADO.NET, i HTTPClient) w debugowaniu lokalnym. Samodzielny Zbieracz nie jest obsługiwany w przypadku aplikacji .NET Core ani ASP.NET Core. - Aplikacje F# na zasadzie eksperymentalnej — Aplikacje UWP obsługiwane tylko dla wydarzeń |
| Nieobsługiwane | - Inne języki i skrypty — Usługi systemu Windows, aplikacje Silverlight, Xbox lub Windows Mobile |
Uwaga / Notatka
Jeśli chcesz debugować proces, który jest już uruchomiony, możesz zbierać tylko zdarzenia IntelliTrace (bez informacji o wywołaniu). Na komputerze lokalnym można dołączyć się do procesu 32-bitowego lub 64-bitowego. Zdarzenia występujące przed dołączeniem do procesu nie są zbierane.
Dlaczego warto debugować za pomocą funkcji IntelliTrace?
Debugowanie tradycyjne lub na żywo pokazuje tylko bieżący stan aplikacji z ograniczonymi danymi dotyczącymi przeszłych zdarzeń. Musisz wywnioskować te zdarzenia na podstawie bieżącego stanu aplikacji lub ponownie utworzyć te zdarzenia przez ponowne uruchomienie aplikacji.
Funkcja IntelliTrace rozszerza to tradycyjne środowisko debugowania, rejestrując określone zdarzenia i dane w tych punktach w czasie. Dzięki temu możesz zobaczyć, co się stało w aplikacji bez ponownego uruchamiania, zwłaszcza jeśli przechodzisz obok miejsca, w którym występuje błąd. Funkcja IntelliTrace jest domyślnie włączona podczas tradycyjnego debugowania i zbiera dane automatycznie i niewidocznie. Dzięki temu można łatwo przełączać się między tradycyjnym debugowaniem a debugowaniem IntelliTrace, aby wyświetlić zarejestrowane informacje. Zobacz Funkcje IntelliTrace i Jakie dane zbiera intelliTrace?
Funkcja IntelliTrace może również pomóc w debugowanie błędów, które są trudne do odtworzenia lub które występują we wdrożeniu. Możesz zbierać dane IntelliTrace i zapisywać je w pliku dziennika IntelliTrace (plik iTrace). Plik iTrace zawiera szczegółowe informacje o wyjątkach, zdarzeniach wydajności, żądaniach sieci Web, danych testowych, wątkach, modułach i innych informacjach o systemie. Możesz otworzyć ten plik w programie Visual Studio Enterprise, wybrać element i rozpocząć debugowanie za pomocą funkcji IntelliTrace. Umożliwia to przejście do dowolnego zdarzenia w pliku i wyświetlenie szczegółowych informacji o aplikacji w tym momencie.
Możesz zapisać dane IntelliTrace z następujących źródeł:
Sesja IntelliTrace w programie Visual Studio 2015 Enterprise lub nowszych wersjach lub wcześniejszych wersjach programu Visual Studio Ultimate.
aplikacje internetowe ASP.NET hostowane w IIS lub aplikacje programu SharePoint uruchomione podczas wdrożenia, gdy używasz programu Microsoft Monitoring Agent, samodzielnie lub z programem System Center 2012. Zobacz Używanie autonomicznego modułu zbierającego IntelliTrace i monitorowania za pomocą programu Microsoft Monitoring Agent.
Ważne
Korzystanie z programu Microsoft Monitoring Agent (MMA) z funkcją IntelliTrace nie jest już obsługiwane, gdy program Microsoft Monitoring Agent osiągnie koniec użytkowania 31 sierpnia 2024 r. Aby uzyskać więcej informacji, zobacz Migrowanie do agenta usługi Azure Monitor z agenta usługi Log Analytics.
Oto kilka przykładów sposobu, w jaki funkcja IntelliTrace może pomóc w debugowaniu:
Aplikacja uszkodziła plik danych, ale nie wiesz, gdzie wystąpiło to zdarzenie.
Bez funkcji IntelliTrace należy przejrzeć kod, aby znaleźć wszystkie możliwe dostępy do plików, umieścić punkty przerwania w tych dostępach i ponownie uruchomić aplikację, aby znaleźć miejsce wystąpienia problemu. Dzięki funkcji IntelliTrace można zobaczyć wszystkie zebrane zdarzenia dostępu do plików i szczegółowe informacje o aplikacji po wystąpieniu każdego zdarzenia.
Dzieje się wyjątek.
Bez funkcji IntelliTrace otrzymujesz komunikat o wyjątku, ale nie masz zbyt wielu informacji o zdarzeniach, które doprowadziły do wyjątku. Możesz zbadać stos wywołań, aby zobaczyć łańcuch wywołań, które doprowadziły do wyjątku, ale nie widać sekwencji zdarzeń, które wystąpiły podczas tych wywołań. Dzięki funkcji IntelliTrace można sprawdzić zdarzenia, które wystąpiły przed wyjątkiem.
Usterka lub awaria występuje w wdrożonej aplikacji.
W przypadku aplikacji opartych na platformie Microsoft Azure można skonfigurować zbieranie danych IntelliTrace przed opublikowaniem aplikacji. Podczas uruchamiania aplikacji funkcja IntelliTrace zapisuje dane w pliku iTrace. Zobacz Debugowanie opublikowanej usługi w chmurze przy użyciu technologii IntelliTrace i Visual Studio.
W przypadku aplikacji internetowych ASP.NET hostowanych w usługach IIS 7.0, 7.5 i 8.0 oraz SharePoint 2010 lub SharePoint 2013 należy użyć programu Microsoft Monitoring Agent, samodzielnie lub z programem System Center 2012, aby zapisać dane IntelliTrace w pliku iTrace.
Jest to przydatne, gdy chcesz zdiagnozować problemy z aplikacjami we wdrożeniu. Zobacz Używanie autonomicznego modułu zbierającego IntelliTrace.
Jakie dane zbiera intelliTrace?
Zbieranie informacji o zdarzeniach
Domyślnie funkcja IntelliTrace rejestruje tylko zdarzenia IntelliTrace: zdarzenia debugera, wyjątki, zdarzenia programu .NET Framework i inne zdarzenia systemowe, które mogą ułatwić debugowanie. Można wybrać rodzaje zdarzeń IntelliTrace, które mają być zbierane, z wyjątkiem zdarzeń debugera i wyjątków, które są zawsze zbierane. Zobacz Funkcje IntelliTrace.
Zdarzenia debugera
Funkcja IntelliTrace zawsze rejestruje zdarzenia, które występują w debugerze programu Visual Studio. Na przykład uruchomienie aplikacji to zdarzenie debugera. Inne zdarzenia debugera to zatrzymywanie zdarzeń, które powodują przerwanie wykonywania aplikacji. Na przykład program osiąga punkt przerwania, osiąga punkt śledzenia lub wykonuje polecenie Krok .
Domyślnie, aby ułatwić wydajność, funkcja IntelliTrace nie rejestruje każdej możliwej wartości zdarzenia debugera. Zamiast tego rejestruje następujące wartości:
Wartości w oknie Lokalne. Pozostaw otwarte okno Ustawienia lokalne , aby wyświetlić te wartości.
Wartości są wyświetlane w oknie Autos tylko wtedy, gdy to okno Autos jest otwarte.
Wartości w etykietkach danych, które pojawiają się, gdy przeniesiesz wskaźnik myszy nad zmienną w oknie źródłowym, aby zobaczyć jej wartość. IntelliTrace nie zbiera wartości w przypiętych wskazówkach danych.
Po włączeniu trybu zdarzeń i migawek IntelliTrace, funkcja IntelliTrace utworzy migawkę procesu aplikacji przy każdym punkcie przerwania i kroku debugera. Spowoduje to zarejestrowanie wartości w oknach Ustawienia lokalne, Automatyczne i Watch , niezależnie od tego, czy okna są otwarte, czy nie. Zostaną również zebrane wartości w przypiętych podpowiedziach dotyczących danych.
Wyjątki
IntelliTrace rejestruje typ wyjątku i komunikat dla tego rodzaju wyjątków:
Obsługiwane wyjątki, w których wyjątek jest zgłaszany i przechwycony
Nieobsługiwane wyjątki
Zdarzenia programu .NET Framework
Domyślnie funkcja IntelliTrace rejestruje najbardziej typowe zdarzenia programu .NET Framework. Na przykład w przypadku CheckBox.CheckedChanged zdarzenia IntelliTrace zbiera stan pola wyboru i tekst.
Zdarzenia aplikacji sharePoint 2010 i SharePoint 2013
Zdarzenia profilu użytkownika i podzbiór zdarzeń ujednoliconego systemu rejestrowania (ULS) można rejestrować dla aplikacji programu SharePoint 2010 i 2013 działających poza programem Visual Studio. Te zdarzenia można zapisać w pliku iTrace. Wymaga programu Visual Studio Enterprise 2015 lub nowszej wersji, poprzedniej wersji programu Visual Studio Ultimate lub programu Microsoft Monitoring Agent działającego w trybie śledzenia .
Po otwarciu pliku iTrace wprowadź identyfikator korelacji programu SharePoint, aby znaleźć zgodne żądanie internetowe, wyświetlić zarejestrowane zdarzenia i rozpocząć debugowanie z określonego zdarzenia. Jeśli plik zawiera nieobsługiwane wyjątki, możesz wybrać identyfikator korelacji, aby rozpocząć debugowanie wyjątku.
Zobacz:
Przechwytywanie migawek
Można skonfigurować IntelliTrace do przechwytywania migawek w każdym punkcie przerwania oraz podczas każdego zdarzenia kroku debugera. Funkcja IntelliTrace rejestruje pełny stan aplikacji w każdej migawki, co umożliwia wyświetlanie złożonych zmiennych i ocenianie wyrażeń.
Uwaga / Notatka
Autonomiczny moduł zbierający IntelliTrace nie obsługuje przechwytywania migawek.
Zobacz Sprawdzanie poprzednich stanów aplikacji przy użyciu funkcji IntelliTrace.
Zbieranie informacji o wywołaniu funkcji
Funkcję IntelliTrace można skonfigurować do zbierania informacji o wywołaniu funkcji. Te informacje umożliwiają wyświetlenie historii stosu wywołań i umożliwia przechodzenie do tyłu i do przodu za pomocą wywołań w kodzie. Dla każdego wywołania funkcji IntelliTrace rejestruje te dane:
- Nazwa funkcji
- Wartości pierwotnych typów danych przekazywanych jako parametry w punktach wejścia funkcji i zwracane w punktach wyjścia funkcji
- Wartości właściwości automatycznych podczas ich odczytywania lub zmieniania
- Wskaźniki do obiektów podrzędnych pierwszego poziomu, ale bez ich wartości, z wyjątkiem sprawdzenia, czy są zerowe czy nie.
Uwaga / Notatka
IntelliTrace zbiera tylko pierwsze 256 obiektów w tablicach i pierwszych 256 znaków dla ciągów.
Zobacz Inspekcja aplikacji przy użyciu debugowania historycznego.
Zbieranie informacji o module
Aby kontrolować ilość informacji o wywołaniach zbieranych przez IntelliTrace, określ tylko te moduły, które cię interesują. Może to pomóc zwiększyć wydajność aplikacji podczas zbierania. Zobacz sekcję Kontrolowanie ilości informacji zbieranych przez funkcję IntelliTrace w funkcji IntelliTrace .
Czy funkcja IntelliTrace spowolni moją aplikację?
Domyślnie funkcja IntelliTrace zbiera dane tylko dla wybranych zdarzeń IntelliTrace. Może, ale nie musi, spowodować spowolnienie aplikacji w zależności od struktury i organizacji kodu. Jeśli na przykład funkcja IntelliTrace często rejestruje zdarzenie, może to spowolnić działanie aplikacji. Może to również sprawić, że rozważysz refaktoryzację aplikacji.
Zbieranie informacji o połączeniach może znacznie spowolnić aplikację. Może również zwiększyć rozmiar wszystkich plików dziennika IntelliTrace (pliki iTrace), które zapisujesz na dysku. Aby zminimalizować te efekty, zbierz informacje o wywołaniu tylko dla modułów, które cię interesują. Aby zmienić maksymalny rozmiar plików iTrace, przejdź do pozycji Narzędzia, Opcje, IntelliTrace, Zaawansowane.