Verwenden gespeicherter IntelliTrace-Daten (C#, Visual Basic, C++)

Wechseln Sie zu bestimmten Punkten in der Ausführung Ihrer Anwendung, wenn Sie das Debuggen von einer IntelliTrace-Protokoll-(.iTrace)-Datei aus beginnen. Diese Datei kann Leistungsereignisse, Ausnahmen, Threads, Testschritte, Module und weitere Systeminfo enthalten, die IntelliTrace erfasst, während Ihre App ausgeführt wird.

Stellen Sie sicher, dass Sie über Folgendes verfügen:

Wie möchten Sie vorgehen?

Öffnen eines IntelliTrace-Protokolls

Öffnen Sie die ITRACE-Datei auf einen Computer mit Visual Studio Enterprise.

  • Doppelklicken Sie außerhalb von Visual Studio auf die ITRACE-Datei, oder öffnen Sie die Datei aus Visual Studio heraus.

    - oder -

  • Wenn die ITRACE-Datei einem Team Foundation Server-Arbeitselement angefügt ist, führen Sie folgende Schritte im Arbeitselement durch:

    • Suchen Sie in Alle Linksdie ITRACE-Datei. Öffnen Sie sie.

      - oder -

    • Wählen Sie unter Reproduktionsschritteden Link IntelliTrace aus.

Tipp

Wenn Sie die IntelliTrace-Datei während des Debuggens geschlossen haben, können Sie sie einfach erneut öffnen. Wechseln Sie zum Menü Debuggen , wählen Sie die Option IntelliTrace, Protokollzusammenfassung anzeigenaus. Sie können Protokollzusammenfassung anzeigen auch im Fenster IntelliTrace auswählen. Dieser Befehl ist nur beim Debuggen mit IntelliTrace verfügbar.

Verstehen des IntelliTrace-Protokolls

Einige der folgenden Abschnitte in der ITRACE-Datei werden nur angezeigt, wenn Sie Daten von einer bestimmten Quelle, beispielsweise SharePoint-Anwendungen, gesammelt haben.

Bereich Enthält Sammelquelle
Leistungsverletzungen Leistungsereignisse mit Funktionsaufrufen, die den konfigurierten Schwellenwert überschreiten Microsoft Monitoring Agent, entweder als eigenständiger Collector oder mit System Center 2012 R2 Operations Manager für ASP.NET-Webanwendungen, gehostet auf IIS
Ausnahmedaten Ausnahmen, einschließlich der vollständigen Aufrufliste für jede Ausnahme Alle Quellen
Analyse Nur für SharePoint 2010- und SharePoint 2013-Anwendungen. Diagnostizieren Sie IntelliTrace- und SharePoint-Ereignisse, wie z. B. Debugger-Ereignisse, ULS-Ereignisse, Ausnahmefehler und andere Daten, die der Microsoft Monitoring Agent aufgezeichnet hat. Microsoft Monitoring Agent, entweder als eigenständiger Collector oder mit System Center 2012 R2 Operations Manager
Systeminfo Einstellungen und Spezifikationen des Hostsystems Alle Quellen
Threadliste Threads, die während der Auflistung ausgeführt wurden Alle Quellen
Module Module, die der Zielprozess in der Reihenfolge geladen hat, in der sie geladen wurden. Alle Quellen
Webanforderung Webanforderungsdaten für IIS-Webanwendungen für eine Produktionsumgebung und SharePoint 2010 sowie SharePoint 2013 Microsoft Monitoring Agent und der eigenständige Collector

Im Folgenden einige Tipps, mit deren Hilfe Sie Informationen in einem der Abschnitte finden können:

  • Wählen Sie einen Spaltenheader zum Sortieren der Daten aus.

  • Verwenden Sie das Suchfeld zum Filtern der Daten. Nur-Text-Suche funktioniert bei allen Spalten mit Ausnahme der Zeitspalten. Sie können auch Suchen in einer bestimmten Spalte filtern, mit einem Filter pro Spalte. Geben Sie den Spaltennamen ohne Leerzeichen ein, mit einem Doppelpunkt ( : ) und dem Suchwert. Setzen Sie danach ein Semikolon ( ; ), um eine weitere Spalte und einen weiteren Suchwert hinzuzufügen.

    Um beispielsweise Leistungsereignisse zu suchen, die das Wort "langsam" in der Spalte Beschreibung haben, geben Sie ein:

    Description:slow

Starten des Debuggen von einem IntelliTrace-Protokoll aus

Leistungsverletzungen

Überprüfen Sie die Leistungsereignisse, die für Ihre App aufgezeichnet wurden. Sie können diese Ereignisse ausblenden, die nicht häufig vorkommen.

So starten Sie das Debuggen von einem Leistungsereignis aus
  1. Unter Leistungsverletzungenüberprüfen Sie die aufgezeichneten Leistungsereignisse, ihre Gesamtausführungszeiten und andere Ereignisinformationen. Sehen Sie sich anschließend die Details der Methoden näher an, die während eines bestimmten Leistungsereignisses aufgerufen wurden.

    View performance event details

    Sie können auch einfach auf das Ereignis doppelklicken.

  2. Überprüfen Sie auf der Ereignisseite die Ausführungszeiten für diese Aufrufe. Suchen Sie einen langsamen Aufruf in der Ausführungsstruktur.

    Die langsamsten Aufrufe werden in einem eigenen Bereich angezeigt, wenn Sie mehrere, geschachtelte oder andere Aufrufe haben.

  3. Erweitern Sie diesen Aufruf, um alle geschachtelten Aufrufe und Parameterwerte zu überprüfen, die zu diesem Zeitpunkt aufgezeichnet wurden.

    (Tastatur: Zum Anzeigen oder Ausblenden eines geschachtelten Anrufs drücken Sie die NACH-RECHTS- oder NACH-LINKS-TASTE. Um Parameterwerte für einen geschachtelten Aufruf anzuzeigen und auszublenden, drücken Sie die LEERTASTE.)

    Starten Sie das Debuggen über diesen Aufruf.

    Start debugging from method call

    Sie können auch einfach auf den Aufruf doppelklicken oder die EINGABETASTE drücken.

    Wenn die Methode in Ihrem Anwendungscode enthalten ist, wechselt Visual Studio zu dieser Methode.

    Go to application code from performance event

    Jetzt können Sie andere aufgezeichnete Werte und die Aufrufliste überprüfen, den Code schrittweise durchlaufen oder das Fenster IntelliTrace verwenden, um sich zwischen anderen Methoden zeitlich rückwärts oder vorwärts zu bewegen , die während dieses Leistungsereignisses aufgerufen wurden.

Ausnahmedaten

Überprüfen Sie die Ausnahmen, die für die Anwendung ausgelöst und aufgezeichnet wurden. Sie können Ausnahmen gruppieren, die denselben Typ und dieselbe Aufrufliste haben, damit nur die letzte Ausnahme angezeigt wird.

So starten Sie das Debuggen aus einer Ausnahme heraus
  1. Überprüfen Sie unter Ausnahmedatendie aufgezeichneten Ausnahmeereignisse, deren Typen und Meldungen und wann die Ausnahmen aufgetreten sind. Um tiefer in den Code zu vorzudringen, starten Sie das Debuggen des letzten Ereignisses in einer Gruppe von Ausnahmen.

    Start debugging from exception event

    Sie können auch einfach auf das Ereignis doppelklicken. Wenn die Ereignisse nicht gruppiert werden, wählen Sie Dieses Ereignis debuggenaus.

    Wenn die Ausnahme im Anwendungscode aufgetreten ist, wechselt Visual Studio zu der Stelle, an der die Ausnahme aufgetreten ist.

    Go to application code from an exception event

    Jetzt können Sie andere aufgezeichnete Werte und die Aufrufliste überprüfen oder das Fenster IntelliTrace verwenden, um sich zwischen anderen aufgezeichneten Ereignissen, zugehörigem Code und den Werten zu bewegen, die zu diesen Zeitpunkten erfasst wurden.

    Spalte Enthält Folgendes
    Typ .NET-Typ der Ausnahme
    Neueste Meldung für gruppierte Ausnahmen oder Meldung für nicht gruppierte Ausnahmen Die von der Ausnahme bereitgestellte Meldung
    Anzahl für gruppierte Ausnahmen Die Anzahl, wie oft die Ausnahme ausgelöst wurde
    Thread-ID für nicht gruppierte Ausnahmen ID des Threads, der die Ausnahme ausgelöst hat
    Neueste Ereigniszeit oder Ereigniszeit Der beim Auslösen der Ausnahme aufgezeichnete Zeitstempel
    Aufrufliste Aufrufliste für eine Ausnahme.

    Wählen Sie zum Anzeigen der Aufrufliste eine Ausnahme in der Liste aus. Die Aufrufliste wird unter der Ausnahmeliste angezeigt.

Analyse

Diagnostizieren Sie Probleme mit SharePoint 2010- und SharePoint 2013-Anwendungen, indem Sie eine SharePoint-Korrelations-ID verwenden, oder überprüfen Sie alle Ausnahmefehler, die Microsoft Monitoring Agent gefunden hat.

  • Verwenden einer SharePoint-Korrelations-ID, um die entsprechende Webanforderung und Ereignisse zu suchen Wählen Sie ein Ereignis aus, und beginnen Sie dann an dem Punkt mit dem Debuggen, an dem das Ereignis aufgetreten ist.

  • Wenn Microsoft Monitoring Agent Ausnahmefehler gefunden hat, können Sie eine Ausnahme auswählen und dann an dem Punkt mit dem Debuggen beginnen, an dem die Ausnahme aufgetreten ist.

Das Debuggen mit einer SharePoint-Korrelations-ID starten
  1. Kopieren der SharePoint-Korrelations-ID aus der Quelle

    Beispiel:

    IntelliTrace - SharePoint error - correlation ID

  2. Öffnen Sie die ITRACE-Datei, wählen Sie dann Analyse aus, und geben Sie die SharePoint-Korrelations-ID ein, um die entsprechende Webanforderung und aufgezeichneten Ereignisse zu überprüfen.

    IntelliTrace log - Enter SharePoint correlation ID

  3. Überprüfen Sie die Ereignisse unter Angeforderte Ereignisse. Ereignisse werden von oben nach unten in der Reihenfolge ihres Auftretens angezeigt.

    1. Wählen Sie zum Anzeigen von Details ein Ereignis aus.

    2. Wählen Sie Debugging starten , um das Debuggen an dem Punkt zu starten, an dem das Ereignis aufgetreten ist.

      IntelliTrace log file - View web request + events

    Sie können diese Art von SharePoint-Ereignissen zusammen mit IntelliTrace-Ereignissen anzeigen:

  • Benutzerprofilereignisse

    Diese Ereignisse treten auf, wenn SharePoint ein Benutzerprofil lädt und wenn Benutzerprofileigenschaften gelesen oder geändert werden.

  • Einheitliche Ereignisse des Protokollierungs-Systems (ULS)

    Microsoft Monitoring Agent zeichnet eine Teilmenge von SharePoint ULS-Ereignissen und diese Felder auf:

    IntelliTrace-Feld SharePoint ULS-Feld
    ID EventID
    Ebene Ebene
    Kategorie-ID Kategorie-ID
    Kategorie Kategorie
    Bereich Produkt
    Ausgabe Meldung
    Korrelations-ID Korrelations-ID
Das Debuggen von einem Ausnahmefehler aus starten
  1. Wählen Sie eine SharePoint-Korrelations-ID für eine Ausnahme aus. Ausnahmen werden nach Typ und Aufrufliste gruppiert.

  2. (Optional) Erweitern Sie die Aufrufliste , um die Aufrufliste für eine Ausnahmengruppe anzuzeigen.

  3. Wählen Sie Ausnahme debuggen aus, um das Debuggen an dem Punkt zu starten, an dem die Ausnahme aufgetreten ist.

    IntelliTrace log - SharePoint unhandled exceptions

    Eine exemplarische Vorgehensweise finden Sie unter Exemplarische Vorgehensweise: Debuggen einer SharePoint-Anwendung mithilfe von IntelliTrace. Die Arten von Daten, die vom Agent aufgezeichnet werden, finden Sie unter IntelliTrace-Funktionen.

Threadliste

Untersuchen Sie die aufgezeichneten Threads, die im Zielprozess ausgeführt wurden. Sie können das Debuggen vom ersten gültigen IntelliTrace-Ereignis in einem ausgewählten Thread starten.

So starten Sie das Debuggen über einen bestimmten Thread
  1. Wählen Sie unter Threadlisteeinen Thread aus.

  2. Wählen Sie am unteren Rand von Threadlistedie Option Debuggen startenaus. Sie können auch auf einen Thread doppelklicken.

    Doppelklicken Sie auf Hauptthread, um das Debuggen vom Anfang der Anwendung aus zu starten. Siehe IntelliTrace-Funktionen.

    Von einem Benutzer erstellte Threaddaten sind möglicherweise nützlicher, als Threads, die von einem Server für IIS-gehostete Webanwendungen erstellt und verwaltet werden.

Spalte Enthält Folgendes
ID Thread-ID-Nummer
Name Threadname. Unbenannte Threads werden als „<Kein Name>“ angezeigt.
Startzeit Zeitpunkt der Threaderstellung.
Endzeit Zeitpunkt des Threadabschlusses
So starten Sie das Debuggen über einen bestimmten Testschritt
  1. Erweitern Sie Testschritte-Raster. Wählen Sie einen Testschritt aus.

  2. Wählen Sie am unteren Rand von Testschritte-Rasterdie Option Debuggen startenaus. Sie können auch auf einen Testschritt doppelklicken.

    Hierdurch wird das Debuggen über das erste gültige IntelliTrace-Ereignis nach dem ausgewählten Testschritt gestartet.

    Wenn Testdaten vorhanden sind, versucht IntelliTrace, den zugeordneten Team Foundation Server-Build aufzulösen, der zum Ausführen des Testlaufs verwendet wurde. Wenn der Build gefunden wird, werden die zugeordneten Symbole für die Anwendung automatisch aufgelöst.

Feld Enthält Folgendes
Testsitzung Testsitzungen, die aufgezeichnet wurden. In der Regel ist nur eine vorhanden. Diese Liste ist leer, wenn Testdaten mithilfe eines manuellen explorativen Tests erstellt wurden.
Testfall Testfälle aus der ausgewählten Testsitzung. Diese Liste ist leer, wenn Testdaten mithilfe eines manuellen explorativen Tests erstellt wurden.
Testschritte-Raster Testschritte, die mit dem Testergebnis "Erfolgreich" oder "Fehler" aufgezeichnet wurden

Systeminfo

Dieser Abschnitt zeigt Informationen über das System, das die Anwendung gehostet hat, wie z. B. Hardware, Betriebssystem, umgebungsbedingte und prozessspezifische Informationen.

Module

In diesem Abschnitt werden die Module angezeigt, die vom Zielprozess geladen wurden. Module werden in der Reihenfolge angezeigt, in der sie geladen wurden.

Spalte Enthält Folgendes
Modulname Moduldateiname
Modulpfad Speicherort auf einem Datenträger, in dem das Modul geladen wurde
Modul-ID Eindeutiger Bezeichner des Moduls, der versionsspezifisch ist und zu den übereinstimmenden Symboldateien (PDB) beiträgt. Siehe Finding symbol (.pdb) files and source files.

Wo kann ich weitere Informationen abrufen?

Verwenden des eigenständigen IntelliTrace-Collectors

IntelliTrace-Funktionen

Sammeln weiterer Diagnosedaten in manuellen Tests

IntelliTrace

Foren

Visual Studio Debugger