Rejestrowanie wykonywania kodu podczas debugowania przy użyciu funkcji IntelliTrace
Aby zapisać i śledzić historię wykonania kodu lub aplikacji za pomocą IntelliTrace w Visual Studio Ultimate, rozpocznij standardowe debugowanie.Domyślnie IntelliTrace jest włączony i automatycznie zapisuje określone zdarzenia i dane, więc możesz łatwo zobaczyć, co wydarzyło się w aplikacji.Zobacz Debugowanie aplikacji przez rejestrowanie wykonywania kodu za pomocą funkcji IntelliTrace.
Aby potwierdzić, że IntelliTrace jest włączony:
[!UWAGA]
Czyszczenie Włącz IntelliTrace wyłącza wszystkie niestandardowe ustawienia IntelliTrace.Te ustawienia dotyczą wszystkich projektów i rozwiązań.Utrzymują się między sesjami debugowania i sesjami programu Visual Studio.
Co chcesz zrobić?
Debuguj tylko z uwzględnieniem zdarzeń
Wybierz zdarzenia, które są zapisywane przez IntelliTrace
Debuguj z uwzględnieniem zdarzeń i informacji wywołań
Kontroluj, ile informacji wywołań jest zapisywanych przez IntelliTrace
Zapisz sesję IntelliTrace
Debuguj tylko z uwzględnieniem zdarzeń
Możesz spróbować debugowania tylko z uwzględnieniem zdarzeń IntelliTrace, aby przekonać się, czy tylko ta operacja pozwoli na znalezienie błędu.Zdarzenia IntelliTrace są zdarzeniami debugera, wyjątkami, zdarzeniami .NET Framework i innymi zdarzeniami systemowymi.Możesz włączyć lub wyłączyć określone zdarzenia, aby kontrolować zdarzenia, które są zapisywane przez IntelliTrace, ale zrób to przed rozpoczęciem debugowania.
Oto graficzne przedstawienie debugowania tylko zdarzeń IntelliTrace:
Powrót do początku
Oto szczegółowe etapy dotyczące debugowania tylko z uwzględnieniem zdarzeń IntelliTrace:
Rozpocznij standardowe debugowanie.Dokonaj odtworzenia błędu.
Porada Zachowaj otwarte okna Lokalne i Automatyczne, aby zobaczyć i zapisać wartości podane w tych oknach.Aby rozpocząć debugowanie, naciśnij klawisz F5 lub zaznacz Debuguj w menu, a następnie wybierz Rozpocznij debugowanie.Jeśli nie widzisz okna IntelliTrace podczas uruchamiania debugowania, IntelliTrace może nie być włączony lub okno może być zamknięte.Aby otworzyć okno IntelliTrace, wybierz Debuguj, IntelliTrace, Zdarzenia IntelliTrace.
Przerwij manualnie wykonywanie danej aplikacji.
Porada W menu Debuguj menu lub w oknie IntelliTrace wybierz opcję Przerwij wszystkie.
Teraz widać chronologiczną listę zdarzeń w oknie IntelliTrace, zaczynającą się od góry pierwszym zdarzeniem i kończącą na ostatnim zdarzeniu, gdy debuger przerwał wykonywanie.
Znajdź zdarzenie najbliższe odtworzonemu błędowi. W tym przypadku było to, zanim aplikacja przerwała wykonywanie.
Wybierz zdarzenie, aby rozwinąć jego szczegóły.
Jeśli kod źródłowy jest dostępny, Visual Studio przesuwa wskaźnik myszy do odpowiedniego kodu w oknie źródłowym, tak aby można było go sprawdzić.
Aby wyświetlić dane, które są zapisane przez IntelliTrace, kiedy wystąpiło zdarzenie, wybierz łącze Widoki pokrewne, aby wyświetlić odpowiednie okna debugera.
Jeśli zdarzenie dotyczy dostępu do plików, wybierz nazwę ścieżki, aby otworzyć plik.Jeśli pełna ścieżka nie jest dostępna, znajdź plik, używając pojawiającego się pola wyszukiwania.
Jeśli nie możesz znaleźć błędu, spróbuj sprawdzić inne zdarzenia prowadzące do błędu.IntelliTrace może również zapisać informacje wywołania, tak aby można było przechodzić przez wywołania funkcji.
Powrót do początku
Wybierz zdarzenia, które są zapisywane przez IntelliTrace
Można włączyć lub wyłączyć zapisywanie dla określonych zdarzeń IntelliTrace, poza zdarzeniami debugera i wyjątkami, które są zawsze zapisywane przez IntelliTrace.
Jeśli debugujesz, przerwij ten proces.W przeciwnym razie ponownie rozpocznij debugowanie po wybraniu zdarzeń.
Przejdź do Narzędzia, Opcje, IntelliTrace, Zdarzenia IntelliTrace.Wybierz zdarzenia i kategorie zdarzeń do zapisanie przez IntelliTrace.
Powrót do początku
Debuguj z uwzględnieniem zdarzeń i informacji wywołań
Jeśli musisz zbadać sekwencję wywołań funkcji aplikacji, aby znaleźć błąd, IntelliTrace może zapisać wywołania funkcji wraz z wydarzeniami.Pozwala to wyświetlać historię stosu wywołań, poruszać się w dowolnym kierunku wywołań w kodzie, wyświetlać dane zapisane przez IntelliTrace, takie jak nazwy funkcji, ich punkty wejścia i wyjścia oraz niektóre wartości parametrów i wartości zwracane.Zobacz Debugowanie aplikacji przez rejestrowanie wykonywania kodu za pomocą funkcji IntelliTrace.
Jeśli debugujesz, przerwij ten proces.W przeciwnym razie ponownie uruchom debugowanie po włączeniu kolekcji wywołań.
Włącz kolekcję wywołań.
Porada Może to spowolnić aplikację i zwiększyć rozmiar plików dziennika IntelliTrace (pliki .iTrace), które są zapisywane na dysku.Aby uzyskać najwięcej danych wywołań, ale zminimalizować skutki, zapisz dane tylko z tych modułów, które Cię interesują.Aby zmienić maksymalny rozmiar plików .iTrace, przejdź do Narzędzia, Opcje, IntelliTrace, Zaawansowane.
Rozpocznij standardowe debugowanie.Dokonaj odtworzenia błędu.
Porada Zachowaj okna Lokalne i Automatyczne, aby zobaczyć i zapisać wartości podane w tych oknach.Aby rozpocząć debugowanie, naciśnij klawisz F5 lub zaznacz Debuguj w menu, a następnie wybierz Rozpocznij debugowanie.Jeśli nie widzisz okna IntelliTrace podczas uruchamiania debugowania, IntelliTrace może nie być włączony lub okno może być zamknięte.Aby otworzyć okno IntelliTrace, wybierz Debuguj, IntelliTrace, Zdarzenia IntelliTrace.
Przerwij manualnie wykonywanie danej aplikacji.
Porada W menu Debuguj menu lub w oknie IntelliTrace wybierz opcję Przerwij wszystkie.
Znajdź zdarzenie najbliższe odtworzonemu błędowi.Zobacz Debuguj tylko z uwzględnieniem zdarzeń.
Wybierz zdarzenie, aby rozwinąć jego szczegóły.Obok opcji Widoki pokrewne wybierz opcję Widok wywołań.
Teraz możesz wyświetlić historię stosu wywołań aplikacji, zaczynającą się u góry wywołania głównego aplikacji i kończącą się na bieżącym wydarzeniu podobnym do wybranego zdarzenia, ale nie bieżącego w czasie rzeczywistym.
Kolejna lista, w pozycji wcięcia w obrębie bieżącego wywołania, wyświetla wywołania, które bieżące wywołanie wykonało w odniesieniu do innych funkcji.Lista w pozycji wcięcia zawiera również zdarzenia IntelliTrace dla bieżącego wywołania.
[!UWAGA]
Wywołania są wyszarzone, ponieważ IntelliTrace nie zapisał danych z odpowiednich modułów.Aby wyświetlić te dane, spraw, aby IntelliTrace zebrał dane z tych modułów.
Znajdź wywołanie następujące po wybranym zdarzeniu.Kliknij dwukrotnie to wywołanie, aby można było do niego przejść.
W oknie Widok wywołań wybrane wywołanie jest teraz nowym bieżącym wywołaniem na dole stosu wywołań.Lista w pozycji wcięcia zawiera obecnie wywołania i zdarzenia dla nowego wywołania bieżącego.Okno źródłowe i okna debugera są aktualizowane dla nowego wywołania bieżącego.
Porada Jeśli chcesz tylko wyświetlić stronę wywołań, kliknij jeden raz na wywołanie w oknie Widok wywołań zamiast dwukrotnego klikania.Przesuwa to wskaźnik do strony wywołania, ale nie przenosi do wywołania, tak że jesteś jeszcze w wywołaniu bieżącym.
Aby przejść przez wywołania i zdarzenia, użyj marginesu nawigacyjnego pojawiającego się obok okna źródłowego, gdy informacja wywołania jest dostępna.Jeśli nie widzisz marginesu nawigacyjnego, przejdź do Narzędzia, Opcje, IntelliTrace, Zaawansowane.Wybierz Wyświetl margines nawigacyjny w trybie debugowania.
Ustaw kontekst debugera tutaj
Ustaw kontekst debugowania dla parametrów czasowych wywołania tam, gdzie się pojawia.
Ikona ta pojawia się na każdej ramce bieżącego stosu wywołań.
Wróć do strony wywołań
Przenieść wskaźnik i kontekst debugowania do czasu, gdy wywołana została funkcja bieżąca.
Jeśli jesteś w standardowym trybie debugowania, to polecenie powoduje uruchomienie debugowania za pomocą IntelliTrace.
Przejdź do poprzedniego wywołania lub zdarzenia IntelliTrace
Przenieść wskaźnik i kontekst debugowania do czasu, gdy wywołana została funkcja bieżąca lub wydarzenie.
Jeśli jesteś w standardowym trybie debugowania, to polecenie powoduje uruchomienie debugowania za pomocą IntelliTrace.
Przejdź do
Przenieść wskaźnik i kontekst debugowania do czasu wybranej funkcji bieżącej.
To polecenie jest dostępne tylko wtedy, gdy debugujesz za pomocą IntelliTrace.
Przejdź do kolejnego wywołania lub zdarzenia IntelliTrace
Przenieść wskaźnik i kontekst debugowania do czasu kolejnego wywołania lub zdarzenia, dla których istnieją dane IntelliTrace.
To polecenie jest dostępne tylko wtedy, gdy debugujesz za pomocą IntelliTrace.
Przejdź do trybu na żywo
Wróć do standardowego debugowania, które wcześniej uruchomiono za pomocą IntelliTrace.
Aby znaleźć konkretne wystąpienie wywołania, przeszukaj historię IntelliTrace dla zapisanych wystąpień danego wywołania:
Z wiersza kodu, w którym dochodzi do wywołania:
[!UWAGA]
Jeśli wiersz jest wyjściem metody, nie będzie można uzyskać dokładnych wyników.
- lub -
Z poziomu wewnątrz treści funkcji, która jest wywoływana:
Upewnij się, że plik projektu zawierający funkcję jest otwarty w programie Visual Studio.
Otwórz menu skrótów w treści funkcji.Wybierz Wyszukaj dla tej metody w IntelliTrace.
Przeglądaj wyniki, aby znaleźć wystąpienie, które Cię interesuje.Wybierz wystąpienie, aby zsynchronizować okno Widok wywołań i przeanalizować zapisane dane dla tego wystąpienia.
Powrót do początku
Kontroluj, ile informacji wywołań jest zapisywanych przez IntelliTrace
Program IntelliTrace może rejestrować informacje na temat wywołań tylko dla tych modułów, które Cię interesują.Może to również pomóc poprawić wydajność danej aplikacji.
Aby dodać wiele modułów, należy użyć 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.
[!UWAGA]
Wyłączenie modułów może jednak nadal prowadzić do zbierania danych z modułów, które mogą nie być interesujące, takie jak moduły strony trzeciej lub moduły otwarto-źródłowe.
Powrót do początku
Zapisz sesję IntelliTrace
Aby kontynuować sesję w późniejszym czasie, zapisz ją jako plik dziennika IntelliTrace (plik .iTrace).
Zapisz manualnie sesję
Zapisz automatycznie sesję
Porada |
---|
Aby zaoszczędzić miejsce na dysku, wyłącz zapisywanie plików .iTrace, gdy ich już nie potrzebujesz.Pozostaną jakiekolwiek istniejące pliki .iTrace. Visual Studio ogranicza domyślny rozmiar pliku .iTrace do 250 MB, ponieważ IntelliTrace może zbierać dużą ilość danych.Gdy rozmiar pliku osiągnie ten limit, program Visual Studio usuwa najwcześniej wpisy, aby zrobić miejsce na nowsze wpisy.Aby zapisać więcej danych niż określa to domyślny limit, zmień rozmiar maksymalnego zapisu. Visual Studio utworzy dwa pliki .iTrace dla każdej sesji IntelliTrace, gdy są automatycznie zapisywane, oraz włączony zostaje proces hostingu (vshost.exe) Visual Studio.Visual Studio tworzy jeden plik .iTrace dla aplikacji i jeden plik .iTrace dla procesu hostingu.Proces ten poprawia wydajność debugowania, daje pewne możliwości debugowania i jest domyślnie uruchamiany. |
Jakie dane zawiera plik .iTrace?
Plik .iTrace zawiera szczegóły dotyczące wyjątków, wątków, żądań sieci Web, danych testowych, modułów i innych informacji o systemie.Podczas otwierania pliku w Visual Studio Ultimate wybierz element i rozpocznij debugowanie. Możesz w danym czasie przejść do dowolnego zdarzenia w pliku, aby sprawdzić kod pokrewny i zapisać dane o swojej aplikacji.Zobacz Debugowanie aplikacji przy użyciu zapisanych danych funkcji IntelliTrace.
Aby debugować błędy lub awarie pojawiające się w trakcie testowania Menedżera testów firmy Microsoft, które są trudne do odtworzenia w środowisku programowania, spróbuj skonfigurować Menedżera testów, aby zbierał dane IntelliTrace.Możesz zapisać dane do pliku .iTrace i dołączyć do elementu pracy programu Team Foundation Server w celu przeprowadzenia dalszej analizy.Zobacz Analiza testów, które się nie powiodły i śledzenie błędów.
Aby debugować błędy lub awarie, które zdarzają się tam, gdzie nie chcesz zmienić konfiguracji systemu, np. w środowiskach produkcyjnych, spróbuj użyć autonomicznego modułu zbierającego, aby zapisywać dane IntelliTrace w pliku .iTrace.Zobacz Gromadzenie danych diagnostycznych w środowisku produkcyjnym przy użyciu autonomicznego modułu zbierającego dane funkcji IntelliTrace.
Powrót do początku
Gdzie można uzyskać więcej informacji?
Debugowanie aplikacji przez rejestrowanie wykonywania kodu za pomocą funkcji IntelliTrace
Debugowanie aplikacji przy użyciu zapisanych danych funkcji IntelliTrace
Blogi
Visual Studio ALM + Team Foundation Server
Fora
Wskazówki
Testowanie dostarczania ciągłego w programie Visual Studio 2012 – Rozdział 6: Przybornik testowy
Filmy wideo
Wideo Channel 9: Zbieranie i analizowanie danych IntelliTrace do debugowania