Udostępnij przez


Debugowanie podróży w czasie — rejestrowanie śladu

logo debugowania podróży czasowej z zegarem.

W tej sekcji opisano sposób rejestrowania śladów debugowania w trybie podróży w czasie (TTD). Istnieją dwa sposoby rejestrowania śladu w usłudze WinDbg, uruchamianie pliku wykonywalnego (zaawansowane) i dołączanie do procesu.

Uruchamianie pliku wykonywalnego (zaawansowane)

Aby uruchomić plik wykonywalny i zarejestrować ślad TTD, wykonaj następujące kroki.

  1. W usłudze WinDbg wybierz pozycję Plik>Rozpocznij debugowanie>Uruchom plik wykonywalny (zaawansowane).

  2. Wprowadź ścieżkę do pliku wykonywalnego trybu użytkownika, który chcesz uruchomić, lub wybierz opcję Przeglądaj, aby przejść do tego pliku. Aby uzyskać informacje na temat pracy z menu Uruchom plik wykonywalny w usłudze WinDbg, zobacz WinDbg — uruchamianie sesji trybu użytkownika.

  3. Zaznacz pole Rekord z debugowaniem podróży czasowej , aby zarejestrować ślad po uruchomieniu pliku wykonywalnego.

    Zrzut ekranu WinDbg z zaznaczonym polem wyboru

  4. Jeśli wybierzesz pozycję Konfiguruj i zarejestrujesz , będzie można skonfigurować lokalizację dla pliku śledzenia.

    Zrzut ekranu przedstawiający okno dialogowe Konfigurowanie nagrywania z wyświetlonym przyciskiem Przeglądaj i ścieżką pliku.

  5. Aby ograniczyć rejestrowanie do określonych modułów, zaznacz pole wyboru "Rejestruj podzbiór wykonywania" i wpisz nazwy modułów. Jeśli na przykład chcesz zarejestrować wykonanie notepad.exe, wpisz "notepad.exe" w polu tekstowym. Jeśli chcesz zarejestrować wykonywanie notepad.exe i kernelbase.dll, wpisz "notepad.exe,kernelbase.dll" w polu tekstowym.

    Zrzut ekranu przedstawiający okno dialogowe Konfigurowanie nagrywania z zaznaczonym podzbiorem wykonywania i polem tekstowym listy modułów.

  6. Wybierz przycisk OK , aby uruchomić plik wykonywalny i rozpocząć nagrywanie.

  7. Zostanie wyświetlone okno dialogowe nagrywania wskazujące, że śledzenie jest rejestrowane.

    Zrzut ekranu przedstawiający wyskakujące okienko rejestrowania TTD z przyciskami Zatrzymaj i Debuguj i Anuluj.

  8. Zobacz Jak rejestrować informacje na temat nagrywania.

Dołącz do procesu

Aby dołączyć do procesu i zarejestrować ślad TTD, wykonaj następujące kroki.

  1. W usłudze WinDbg wybierz pozycję Plik>Rozpocznij debugowanie>Dołącz do procesu.

  2. Wybierz proces trybu użytkownika, który chcesz śledzić. Aby uzyskać informacje na temat pracy z menu Dołączanie do procesu w usłudze WinDbg, zobacz WinDbg — uruchamianie sesji trybu użytkownika.

    Zrzut ekranu programu WinDbg, w którym wyświetlane jest pole wyboru

  3. Zaznacz pole Rejestrowanie procesu z debugowaniem podróży czasowej , aby utworzyć ślad po uruchomieniu pliku wykonywalnego.

  4. Wybierz pozycję Dołącz , aby rozpocząć nagrywanie.

  5. Zostanie wyświetlone okno dialogowe nagrywania wskazujące, że śledzenie jest rejestrowane.

    Zrzut ekranu okienka rejestrowania TTD z opcjami Zatrzymaj, Debuguj i Anuluj.

  6. Zobacz Jak rejestrować informacje na temat nagrywania.

Jak zarejestrować

  1. Proces jest rejestrowany, więc jest to miejsce, w którym należy spowodować problem, który chcesz debugować. Możesz otworzyć problematyczny plik lub wybrać konkretny przycisk w aplikacji, aby spowodować wystąpienie zdarzenia zainteresowania.

  2. Podczas wyświetlania okna dialogowego nagrywania można wykonać następujące czynności:

    • Zatrzymaj i debuguj — wybranie tej opcji spowoduje zatrzymanie nagrywania, utworzenie pliku śledzenia i otwarcie pliku śledzenia w celu rozpoczęcia debugowania.
    • Anuluj — wybranie tej opcji spowoduje zatrzymanie nagrywania i utworzenie pliku śledzenia. Plik śledzenia można otworzyć później.
  3. Po zakończeniu nagrywania zamknij aplikację lub naciśnij pozycję Zatrzymaj i debuguj.

    Uwaga

    Zarówno zatrzymaj i debuguj, jak i anuluj, zakończą skojarzony proces.

  4. Po zakończeniu rejestrowania aplikacji plik śledzenia zostanie zamknięty i zapisany na dysku. Jest to przypadek, jeśli twój program również ulegnie awarii.

  5. Po otwarciu pliku śledzenia debuger automatycznie zaindeksuje plik śledzenia. Indeksowanie umożliwia dokładniejsze i szybsze wyszukiwanie wartości pamięci. Ten proces indeksowania trwa dłużej w przypadku większych plików śledzenia.

    ...
    00007ffc`61f789d4 c3              ret
    0:000> !index
    Indexed 1/1 keyframes
    Successfully created the index in 96ms.
    

    Uwaga

    Ramka kluczowa to lokalizacja w ślad używany do indeksowania. Ramki kluczowe są generowane automatycznie. Większe ślady będą zawierać więcej klatek kluczowych. Po zaindeksowaniu śladu wyświetlana jest liczba klatek kluczowych.

  6. W tym momencie jesteś na początku pliku śledzenia i możesz poruszać się do przodu i do tyłu w czasie.

    Wskazówka

    Używanie punktów przerwania to typowe podejście do wstrzymania wykonywania kodu w pewnym przypadku zainteresowania. Wyjątkową cechą TTD jest możliwość ustawienia punktu przerwania i podróżowania w czasie aż do jego osiągnięcia po zarejestrowaniu śladu. Możliwość sprawdzenia stanu procesu po wystąpieniu problemu w celu określenia najlepszej lokalizacji punktu przerwania umożliwia dodatkowe przepływy pracy debugowania. Aby zapoznać się z przykładem użycia punktu przerwania w przeszłości, zobacz Debugowanie podróży w czasie — przewodnik po przykładowej aplikacji.

Następne kroki

Po zarejestrowaniu śladu TTD możesz go odtworzyć lub pracować z plikiem śladu, na przykład udostępniając go współpracownikowi. Aby uzyskać więcej informacji, zobacz te tematy.

Debugowanie podróży w czasie - ponowne odtwarzanie śladu

Debugowanie podróży w czasie — praca z plikami śledzenia

Debugowanie podróży w czasie — rozwiązywanie problemów

Debugowanie podróży w czasie — przewodnik po przykładowej aplikacji

Zobacz też

Debugowanie podróży w czasie — omówienie