Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze sectie wordt beschreven hoe u traceringen voor time travel debugging (TTD) registreert. Er zijn twee manieren om een tracering op te nemen in WinDbg, Uitvoerbare bestanden starten (geavanceerd) en koppelen aan een proces.
Uitvoerbaar bestand starten (geavanceerd)
Volg deze stappen om een uitvoerbaar bestand te starten en een TTD-trace vast te leggen.
Selecteer> in WinDbg bestandstarten foutopsporing>uitvoerbare bestand starten (geavanceerd).
Voer het pad in naar het uitvoerbare bestand van de gebruikersmodus dat u wilt opnemen of selecteer Bladeren om naar het uitvoerbare bestand te navigeren. Zie WinDbg - Een sessie in de gebruikersmodus starten voor meer informatie over het werken met het menu Uitvoerbaar starten in WinDbg.
Schakel het selectievakje Record met Time Travel Debugging in om een trace vast te leggen wanneer de executable wordt gestart.
Als u Configureren en Record selecteert, kunt u een locatie voor het traceringsbestand configureren.
Als u de opname wilt beperken tot specifieke modules, schakelt u 'Recordsubset van uitvoering' in en typt u de modulenamen. Als u bijvoorbeeld alleen de uitvoering van notepad.exewilt vastleggen, typt u 'notepad.exe' in het tekstvak. Als u de uitvoering van notepad.exe en kernelbase.dllwilt vastleggen, typt u 'notepad.exe,kernelbase.dll' in het tekstvak.
Selecteer OK om het uitvoerbare bestand te starten en de opname te starten.
Het opnamedialoogvenster wordt weergegeven om aan te geven dat de tracering wordt vastgelegd.
Zie Hoe u kunt opnemen voor informatie over opnemen.
Koppelen aan een proces
Volg deze stappen om een proces te koppelen en een TTD-trace vast te leggen.
Selecteer in WinDbg bestandsstart>foutopsporing bijvoegen>aan proces.
Selecteer het gebruikersmodusproces dat u wilt traceren. Zie WinDbg - Een sessie in de gebruikersmodus starten voor meer informatie over het werken met Koppelen aan een procesmenu in WinDbg.
Schakel het selectievakje Opnameproces met Time Travel-debugging in om een tracering te maken wanneer het uitvoerbaar bestand wordt gestart.
Selecteer Bijvoegen om de opname te starten.
Het opnamedialoogvenster verschijnt om aan te geven dat de trace wordt opgenomen.
Zie Hoe u kunt opnemen voor informatie over opnemen.
Opnemen
Het proces wordt vastgelegd, dus dit is waar u het probleem moet veroorzaken dat u wilt debuggen. U kunt een problematisch bestand openen of een specifieke knop in de app selecteren om het gewenste evenement te laten plaatsvinden.
Terwijl het opnamedialoogvenster wordt weergegeven, kunt u het volgende doen:
- Stoppen en fouten opsporen : als u deze optie kiest, stopt u de opname, maakt u het traceringsbestand en opent u het traceringsbestand, zodat u fouten kunt opsporen.
- Annuleren : als u dit kiest, wordt de opname gestopt en wordt het traceringsbestand gemaakt. U kunt het traceringsbestand op een later tijdstip openen.
Zodra de opname is voltooid, sluit u uw app of klikt u op Stoppen en fouten opsporen.
Notitie
Zowel Stop en debuggen als Annuleren beëindigen het bijbehorende proces.
Wanneer de toepassing wordt geregistreerd, wordt het traceringsbestand gesloten en naar de schijf geschreven. Dit is het geval als uw programma ook vastloopt.
Wanneer een traceringsbestand wordt geopend, wordt het traceringsbestand automatisch geïndexeerd door het foutopsporingsprogramma. Indexering maakt het zoeken naar nauwkeurigere en snellere geheugenwaarden mogelijk. Dit indexeringsproces duurt langer voor grotere traceringsbestanden.
... 00007ffc`61f789d4 c3 ret 0:000> !index Indexed 1/1 keyframes Successfully created the index in 96ms.Notitie
Een sleutelframe is een locatie in een tracering die wordt gebruikt voor indexering. Sleutelframes worden automatisch gegenereerd. Grotere traceringen bevatten meer keyframes. Wanneer de tracering wordt geïndexeerd, wordt het aantal sleutelframes weergegeven.
Op dit moment bent u aan het begin van het tracebestand en klaar om voor- en achteruit in de tijd te reizen.
Hint
Het gebruik van onderbrekingspunten is een veelvoorkomende benadering om de uitvoering van code te onderbreken bij een bepaald geval van belang. Uniek voor TTD: u kunt een onderbrekingspunt instellen en teruggaan in de tijd totdat dat onderbrekingspunt wordt bereikt nadat de tracering is vastgelegd. De mogelijkheid om de processtatus te onderzoeken nadat een probleem is opgetreden, om de beste locatie voor een onderbrekingspunt te bepalen, maakt extra foutopsporingswerkstromen mogelijk. Zie Time Travel Debugging - Voorbeeld-app-overzicht voor een voorbeeld van het gebruik van een onderbrekingspunt in het verleden.
Volgende stappen
Nu u een TTD-trace hebt geregistreerd, kunt u de tracering opnieuw afspelen of met het traceringsbestand werken, bijvoorbeeld door deze te delen met een collega. Zie deze onderwerpen voor meer informatie.
#B0 Foutopsporing in Time Travel - Een tracering opnieuw afspelen #C1
Foutopsporing in Time Travel - Werken met traceringsbestanden
Foutopsporing voor tijdreizen - Problemen oplossen
Debugging voor tijdreizen - Voorbeeld van een app-walkthrough