Aufzeichnung der Codeausführung mit IntelliTrace zum Debuggen in Visual Studio
Um den Ausführungsverlauf des Codes oder der App mit IntelliTrace in Visual Studio Ultimate aufzuzeichnen und nachzuverfolgen, starten Sie das Debugging wie gewohnt.Standardmäßig ist IntelliTrace aktiviert und zeichnet bestimmte Ereignisse und Daten automatisch auf, sodass Sie leichter erkennen, was in der App geschehen ist.Siehe Debuggen Ihrer Anwendung durch Aufzeichnung der Codeausführung mit IntelliTrace.
So bestätigen Sie, dass IntelliTrace aktiviert ist:
Hinweis |
---|
Beim Aufheben der Auswahl von IntelliTrace aktivieren werden alle benutzerdefinierten IntelliTrace-Einstellungen deaktiviert.Diese Einstellungen gelten für alle Projekte und Lösungen.Sie bleiben zwischen Debug- und Visual Studio-Sitzungen erhalten. |
Was möchten Sie tun?
Ausschließliches Verwenden von Ereignissen beim Debuggen
Auswählen der von IntelliTrace aufgezeichneten Ereignisse
Debuggen mit Ereignissen und Aufrufinformationen
Steuern der Anzahl der von IntelliTrace aufgezeichneten Aufrufinformationen
Speichern der IntelliTrace-Sitzung
Ausschließliches Verwenden von Ereignissen beim Debuggen
Sie können versuchen, ausschließlich mit IntelliTrace-Ereignissen zu debuggen, um zu ermitteln, ob dies ausreicht, um den Fehler zu finden.IntelliTrace-Ereignisse sind Debuggerereignisse, Ausnahmen, .NET Framework-Ereignisse und andere Systemereignisse.Sie können bestimmte Ereignisse aktivieren oder deaktivieren, um die von IntelliTrace aufgezeichneten Ereignisse zu steuern, was jedoch vor dem Debuggen ausgeführt werden sollte.
Hier ist eine visuelle Übersicht über das ausschließliche Debuggen mit IntelliTrace-Ereignissen:
Zurück nach oben
Hier finden Sie eine ausführliche Beschreibung der Schritte zum ausschließlichen Debuggen mit IntelliTrace-Ereignissen:
Starten Sie das Debuggen wie gewohnt.Reproduzieren Sie den Fehler.
Tipp Halten Sie die Fenster Lokal und Auto geöffnet, um die Werte darin anzuzeigen und aufzuzeichnen.Um das Debuggen zu starten, drücken Sie F5, oder wählen Sie im Menü Debuggen den Eintrag Debuggen starten.Wenn das Fenster IntelliTrace nicht angezeigt wird, wenn Sie das Debuggen starten, ist IntelliTrace möglicherweise nicht aktiviert oder das Fenster ist geschlossen.Um das Fenster IntelliTrace zu öffnen, wechseln Sie zu Debuggen, IntelliTrace, IntelliTrace-Ereignisse.
Unterbrechen Sie die Ausführung der Anwendung manuell.
Tipp Wählen Sie im Menü Debuggen oder im Fenster IntelliTrace die Option Alle unterbrechen aus.
Nun wird eine chronologische Liste der Ereignisse im IntelliTrace-Fenster angezeigt, wobei das erste Ereignis oben in der Liste und das letzte Ereignis unten in der Liste aufgeführt ist, nachdem der Debugger die Ausführung unterbrochen hat.
Suchen Sie das Ereignis, das der Reproduktion des Fehlers am nächsten liegt, in diesem Fall also bevor die Ausführung unterbrochen wurde.
Wählen Sie das Ereignis, um die Details zu erweitern.
Wenn Quellcode verfügbar ist, bewegt Visual Studio den Zeiger auf den entsprechenden Code im Quellcodefenster, damit Sie ihn überprüfen können.
Um die Daten anzuzeigen, die von IntelliTrace bei Eintritt des Ereignisses aufgezeichnet wurden, wählen Sie den Link Verknüpfte Ansichten, um das entsprechende Debuggerfenster zu öffnen.
Wenn es sich bei dem Ereignis um ein Dateizugriffsereignis handelt, wählen Sie den Pfadnamenslink klicken, um die Datei zu öffnen.Wenn der vollständige Pfadname nicht verfügbar ist, suchen Sie die Datei, indem Sie das angezeigte Suchfeld verwenden.
Wenn Sie den Fehler nicht finden, überprüfen Sie andere Ereignisse, die zu dem Fehler geführt haben.Sie können auch veranlassen, dass IntelliTrace Aufrufinformationen aufzeichnet, damit Sie die Funktionsaufrufe schrittweise durchlaufen können.
Zurück nach oben
Auswählen der von IntelliTrace aufgezeichneten Ereignisse
Mit Ausnahme von Debugger-Ereignissen und Ausnahmen kann die Aufzeichnung bestimmter IntelliTrace-Ereignisse aktiviert oder deaktiviert werden.
Wenn Sie gerade einen Debugging-Vorgang ausführen, beenden Sie diesen.Andernfalls starten Sie das Debuggen erneut, nachdem Sie Ereignisse ausgewählt haben.
Wechseln Sie zu Tools, Optionen, IntelliTrace, IntelliTrace-Ereignisse.Wählen Sie die Ereignisse und Ereigniskategorien, die von IntelliTrace aufgezeichnet werden sollen.
Zurück nach oben
Debuggen mit Ereignissen und Aufrufinformationen
Wenn Sie die Funktionsaufrufsequenz der App überprüfen müssen, um den Fehler zu suchen, kann IntelliTrace Funktionsaufrufe zusammen mit Ereignissen aufzeichnen.Dadurch können Sie den Aufruflistenverlauf anzeigen, die Aufrufe im Code vorwärts und rückwärts durchlaufen und die von IntelliTrace aufgezeichneten Daten, wie Funktionsnamen, deren Einstiegs- und Endpunkte sowie bestimmte Parameterwerte und Rückgabewerte, anzeigen.Siehe Debuggen Ihrer Anwendung durch Aufzeichnung der Codeausführung mit IntelliTrace.
Wenn Sie gerade einen Debugging-Vorgang ausführen, beenden Sie diesen.Andernfalls starten Sie das Debugging erneut, nachdem Sie die Aufrufauflistung aktiviert haben.
Aktivieren Sie Aufrufauflistung ein.
Tipp Dies kann zu einer Verlangsamung der App und zu einer Vergrößerung aller auf dem Datenträger gespeicherten IntelliTrace-Protokolldateien (ITRACE-Dateien) führen.Um möglichst viele Aufrufdaten abzurufen, die Auswirkungen jedoch möglichst gering zu halten, zeichnen Sie nur die Daten aus den Modulen auf, die für Sie von Interesse sind.Um die maximale Größe der ITRACE-Dateien zu ändern, wechseln Sie zu Tools, Optionen, IntelliTrace, Erweitert.
Starten Sie das Debuggen wie gewohnt.Reproduzieren Sie den Fehler.
Tipp Behalten Sie die Fenster Lokal und Fenster Auto bei, um die Werte in diesen Fenstern anzuzeigen und aufzuzeichnen.Um das Debuggen zu starten, drücken Sie F5, oder wählen Sie im Menü Debuggen den Eintrag Debuggen starten.Wenn das Fenster IntelliTrace nicht angezeigt wird, wenn Sie das Debuggen starten, ist IntelliTrace möglicherweise nicht aktiviert oder das Fenster ist geschlossen.Um das Fenster IntelliTrace zu öffnen, wechseln Sie zu Debuggen, IntelliTrace, IntelliTrace-Ereignisse.
Unterbrechen Sie die Ausführung der Anwendung manuell.
Tipp Wählen Sie im Menü Debuggen oder im Fenster IntelliTrace die Option Alle unterbrechen aus.
Suchen Sie das Ereignis, das der Reproduktion des Fehlers am nächsten liegt.Weitere Informationen finden Sie unter Ausschließliches Verwenden von Ereignissen beim Debuggen.
Wählen Sie das Ereignis, um die Details zu erweitern.Wählen Sie neben Verknüpfte Ansichten die Option Aufrufansicht aus.
Nun wird der Aufruflistenverlauf der App angezeigt, wobei der Stammaufruf der Anwendung oben und der aktuelle Aufruf relativ zum ausgewählten Ereignis, nicht aktuell wie in Echtzeit, unten in der Liste aufgeführt ist.
Unter dem aktuellen Aufruf wird eine andere, eingerückte Liste mit den Aufrufen des aktuellen Aufrufs an andere Funktionen angezeigt.Die eingerückte Liste zeigt außerdem IntelliTrace-Ereignisse für den aktuellen Aufruf an.
Hinweis Aufrufe werden abgeblendet angezeigt, da IntelliTrace keine Daten aus den entsprechenden Modulen aufgezeichnet hat.Um diese Daten anzuzeigen, lassen Sie IntelliTrace Daten aus diesen Modulen sammeln.
Suchen Sie den Aufruf, der auf das ausgewählte Ereignis folgt.Doppelklicken Sie auf diesen Aufruf, um ihn schrittweise auszuführen.
Im Fenster Aufrufansicht ist der Aufruf, den Sie schrittweise ausführen, nun der aktuelle Aufruf ganz unten in der Aufrufliste.Die eingezogene Liste zeigt nun Aufrufe und Ereignisse für diesen neuen aktuellen Aufruf an.Das Quellcodefenster und die Debuggerfenster werden ebenfalls für diesen neuen aktuellen Aufruf aktualisiert.
Tipp Wenn Sie nur die Aufrufsite suchen möchten, klicken Sie nur einmal auf den Aufruf im Fenster Aufrufansicht, anstatt darauf zu doppelklicken.Dabei wird der Zeiger auf die Aufrufsite bewegt, der Aufruf wird jedoch nicht schrittweise ausgeführt, sodass Sie sich weiterhin im aktuellen Aufruf befinden.
Zum schrittweisen Ausführen von Aufrufen und Ereignissen verwenden Sie den Navigationsbundsteg, der neben dem Quellcodefenster angezeigt wird, wenn Aufrufinformationen verfügbar sind.Wenn der Navigationsbundsteg nicht angezeigt wird, wechseln Sie zu Tools, Optionen, IntelliTrace, Erweitert.Wählen Sie Den Navigationsbundsteg im Debugmodus anzeigen aus.
Debuggerkontext hier festlegen
Legt den Debugkontext auf den Zeitrahmen des Aufrufs fest, in dem er angezeigt wird.
Dieses Symbol wird nur für jeden Zeitrahmen der aktuellen Aufrufliste angezeigt.
Zur Aufrufwebsite zurückkehren
Setzt den Zeiger und den Debugkontext zeitlich auf den Aufruf der aktuellen Funktion zurück.
Wenn Sie im herkömmlichen Debugmodus arbeiten, starten Sie mit diesem Befehl das Debuggen mit IntelliTrace.
Zum vorherigen Aufruf oder IntelliTrace-Ereignis wechseln
Setzt den Zeiger und den Debugkontext zeitlich auf den vorherigen Aufruf bzw. das vorherige Ereignis zurück.
Wenn Sie im herkömmlichen Debugknoten arbeiten, starten Sie mit diesem Befehl das Debuggen mit IntelliTrace.
Einzelschritt
Setzt den Zeiger- und Debugkontext zeitlich auf die derzeit ausgewählte Funktion vor.
Dieser Befehl ist nur beim Debuggen mit IntelliTrace verfügbar.
Zum nächsten Aufruf oder IntelliTrace-Ereignis wechseln
Setzt den Zeiger- und Debugkontext zeitlich auf den nächsten Aufruf oder das nächste Ereignis vor, für den/das IntelliTrace-Daten vorhanden sind.
Dieser Befehl ist nur beim Debuggen mit IntelliTrace verfügbar.
Zum Livemodus wechseln
Wechselt zum herkömmlichen Debugvorgang zurück, in dem Sie das Debuggen mit IntelliTrace gestartet haben.
Um eine bestimmte Instanz eines Aufrufs zu suchen, durchsuchen Sie den IntelliTrace-Verlauf nach aufgezeichneten Instanzen dieses Aufrufs:
Von einer Codezeile, in der der Aufruf ausgeführt wird:
Hinweis Wenn die Zeile ein Methodenende ist, erhalten Sie keine präzisen Ergebnisse.
- oder -
Aus dem Text der Funktion heraus, die aufgerufen wird:
Überprüfen Sie, ob die Projektdatei, die die Funktion enthält, in Visual Studio geöffnet ist.
Öffnen Sie das Kontextmenü im Text der Funktion.Wählen Sie In IntelliTrace nach dieser Methode suchen aus.
Durchsuchen Sie die Ergebnisse, um die gewünschte Instanz zu suchen.Wählen Sie die Instanz, um das Fenster Aufrufansicht zu synchronisieren und die aufgezeichneten Daten für diese Instanz zu überprüfen.
Zurück nach oben
Steuern der Anzahl der von IntelliTrace aufgezeichneten Aufrufinformationen
Sie können die Informationen des IntelliTrace-Datensatzaufrufs nur für die Module aufzeichnen, die für Sie von Bedeutung sind.Dies kann ebenfalls zur Verbesserung der Anwendungsleistung beitragen.
Um mehrere Module hinzuzufügen, verwenden Sie das Platzhalterzeichen * am Anfang oder am Ende der Zeichenfolge.Als Modulnamen müssen Dateinamen und keine Assemblynamen verwendet werden.Dateipfade werden nicht akzeptiert.
Hinweis |
---|
Das Ausschließen von Modulen führt möglicherweise dennoch dazu, dass Daten aus Modulen gesammelt werden, die Sie möglicherweise nicht interessieren, wie beispielsweise Drittanbieter- oder Quellenmodule. |
Zurück nach oben
Speichern der IntelliTrace-Sitzung
Um die Sitzung zu einem späteren Zeitpunkt fortzusetzen, speichern Sie die Sitzung als IntelliTrace-Protokolldatei (ITRACE-Datei).
Manuelles Speichern der Sitzung
Automatisches Speichern der Sitzung
Tipp |
---|
Um Speicherplatz zu sparen, deaktivieren Sie die Speicherung von ITRACE-Dateien, wenn Sie sie nicht mehr benötigen.Alle vorhandenen ITRACE-Dateien bleiben erhalten. Visual Studio begrenzt die standardmäßige ITRACE-Datei-Größe auf 250 MB, da IntelliTrace viele Daten erfassen kann.Wenn die Datei diese Größe erreicht, schafft Visual Studio Speicherplatz für neuere Einträge, indem die letzten Einträge gelöscht werden.Um mehr Daten zu speichern als die Standardgrenze zulässt, ändern Sie die maximale Aufzeichnungsgröße der Datei. Visual Studio erstellt zwei ITRACE-Dateien für jede IntelliTrace-Sitzung, wenn sie automatisch gespeichert und der Visual Studio-Hostprozess (vshost.exe) aktiviert ist.Visual Studio erstellt eine ITRACE-Datei für die Anwendung und eine ITRACE-Datei für den Hostprozess.Dieser Prozess verbessert die Debugleistung, aktiviert bestimmte Debugfunktionen und wird standardmäßig aktiviert. |
Welche Daten enthält die ITRACE-Datei?
Eine ITRACE-Datei enthält Details über Ausnahmen, Threads, Webanforderungen, Testdaten, Module und andere Systeminformationen.Wenn Sie die Datei in Visual Studio Ultimate öffnen, ein Element auswählen und das Debuggen starten, können Sie zu jedem Ereignis in der Datei wechseln, um zugehörigen Code und zu diesem Zeitpunkt aufgezeichnete Daten zur App zu überprüfen.Siehe Debuggen Ihrer Anwendung mit IntelliTrace-Protokolldateien (.iTrace).
Um Fehler oder Abstürze zu debuggen, die während der Tests in Microsoft Test Manager aufgetreten sind, in der Entwicklungsumgebung jedoch schwer zu reproduzieren sind, konfigurieren Sie Test Manager für die Sammlung von IntelliTrace-Daten.Sie können diese Daten in einer ITRACE-Datei speichern und an eine Team Foundation Server-Arbeitsaufgabe anfügen, um sie zur weiteren Untersuchung zu speichern.Siehe Gewusst wie: Sammeln von IntelliTrace-Daten zum Beheben schwieriger Probleme.
Um Fehler oder Abstürze zu debuggen, die dort auftreten, wo keine Systemkonfiguration durchgeführt werden soll, wie beispielsweise in Produktionsumgebungen, verwenden Sie den eigenständigen Collector, um IntelliTrace-Daten in einer ITRACE-Datei zu speichern.Siehe Sammeln von IntelliTrace-Daten außerhalb von Visual Studio mit eigenständiger Auflistung.
Zurück nach oben
Wo kann ich weitere Informationen abrufen?
Debuggen Ihrer Anwendung durch Aufzeichnung der Codeausführung mit IntelliTrace
Einbeziehen diagnostischer Ablaufverfolgungsdaten mit Fehlern, die schwer zu reproduzieren sind
Sammeln von IntelliTrace-Daten außerhalb von Visual Studio mit eigenständiger Auflistung
Debuggen Ihrer Anwendung mit IntelliTrace-Protokolldateien (.iTrace)
Blogs
Visual Studio ALM und Team Foundation Server
Foren
Empfehlungen
Tests für fortlaufende Übermittlung mit Visual Studio 2012 - Kapitel 6: Eine Test-Toolbox
Videos
Channel-9-Video: Sammeln und Analysieren von Daten in der Produktion