Sammeln von IntelliTrace-Informationen

Warnung

Hinweis: In Visual Studio 2010 Ultimate Service Pack 1 werden IntelliTrace-Protokolldateien (ITRACE-Dateien) nach dem Schließen nicht mehr standardmäßig von IntelliTrace gespeichert. Informationen zum Speichern von IntelliTrace-Protokolldateien finden Sie in diesem Thema unter Speichern von Protokolldateien.

Dieses Thema gilt ausschließlich für Visual Studio 2010 Ultimate.

IntelliTrace ist in Visual Studio 2010 Ultimate standardmäßig aktiviert. Während einer Livedebugsitzung wird IntelliTrace im Hintergrund ausgeführt und erfasst IntelliTrace-Informationen automatisch und unsichtbar. Die Verfügbarkeit dieser Informationen ermöglicht es Ihnen, von der Livedebugsitzung zum Debuggen mit IntelliTrace zu wechseln und eine "Zeitreise" durch den Code zu unternehmen.

Standardmäßig erfasst und protokolliert IntelliTrace nur Informationen für ausgewählte IntelliTrace-Ereignisse. Mit den Standardauflistungseinstellungen wird ein minimaler Aufwand verursacht. Sie beeinflussen nicht die Ausführung der Anwendung oder die Möglichkeit, den Visual Studio-Debugger zu verwenden.

Durch Erfassen von Aufrufen und Parametern kann IntelliTrace zusätzliche Debugfunktionen bereitstellen. Beim Erfassen von Aufrufen und Parametern wird jedoch ein Leistungsmehraufwand verursacht, zusätzlicher Speicherplatz wird verwendet, und die Funktion Bearbeiten und Fortfahren des Visual Studio-Debuggers wird deaktiviert. Sie müssen die Kosten und Vorteile für die bestimmte Anwendung und das Debugszenario gegeneinander aufwiegen.

Die Auflistungsoptionen werden auf Visual Studio-Ebene festgelegt. Sie werden auf alle Visual Basic- und C#-Projekte und -Projektmappen angewendet. Die Auflistungsoptionen bleiben zwischen Debug- und Visual Studio-Sitzungen erhalten.

In diesem Thema

  • Speichern von Protokolldateien

  • IntelliTrace-Ereignisse

  • Aufrufe und Parameter

  • Konfigurieren der Auflistungen nach Modul

Speichern von Protokolldateien

Standardmäßig speichert IntelliTrace keine IntelliTrace-Protokolldateien (ITRACE-Dateien), nachdem Sie Visual Studio geschlossen haben. Sie können das Standardverhalten ändern, damit IntelliTrace alle Protokolldateien speichern kann, oder Sie können IntelliTrace-Protokolldateien manuell speichern, wie im Folgenden beschrieben.

So ändern Sie das Standardverhalten von IntelliTrace bezüglich Protokolldateien

  1. Klicken Sie im Menü Extras auf Optionen.

  2. Erweitern Sie in der Liste der Optionskategorien den Knoten IntelliTrace, und klicken Sie auf Erweitert.

  3. Führen Sie eine der folgenden Aufgaben aus:

    1. Wenn alle IntelliTrace-Protokolldateien (ITRACE-Dateien) gespeichert werden sollen, aktivieren Sie IntelliTrace-Aufzeichnungen in diesem Verzeichnis speichern, und geben Sie dann den Pfad zu dem Ordner an, in dem die Dateien gespeichert werden sollen.

    2. Wenn die ITRACE-Dateien gelöscht werden sollen, sobald Sie Visual Studio schließen, sofern Sie sie nicht manuell speichern, deaktivieren Sie IntelliTrace-Aufzeichnungen in diesem Verzeichnis speichern.

  4. Klicken Sie auf OK, um die Änderungen zu speichern.

So speichern Sie eine IntelliTrace-Protokolldatei manuell

  1. Klicken Sie auf der Symbolleiste im Fenster IntelliTrace auf die Schaltfläche Aktuelle IntelliTrace-Sitzung speichern.

  2. Geben Sie im Dialogfeld Speichern unter den Dateinamen an, unter dem die Sitzung gespeichert werden soll, und klicken Sie dann auf Speichern.

IntelliTrace-Ereignisse

Bei IntelliTrace-Ereignissen handelt es sich um Ereignisse, die während der Anwendungsausführung auftreten und von IntelliTrace erfasst werden können. Folgende Ereignistypen können von IntelliTrace erfasst werden:

  • Debuggerereignisse. Dabei handelt es sich um Ereignisse, die im Visual Studio-Debuggers auftreten, während Sie die Anwendung debuggen. Der Start der Anwendung bildet ein Debuggerereignis. Weitere Debuggerereignisse sind Stoppereignisse, d. h. Ereignisse, die bewirken, dass die Anwendung in einen Unterbrechungszustand eintritt. Das Erreichen eines Haltepunkts, Erreichen eines Ablaufverfolgungspunkts oder Ausführen eines Schrittbefehls stellen ebenfalls Beispiele für Stoppereignisse dar.

    Aus Leistungsgründen erfasst IntelliTrace nicht alle möglichen Werte für jedes Debuggerereignis. Stattdessen werden von IntelliTrace Werte erfasst, die für den Benutzer sichtbar sind. Wenn das Fenster Auto geöffnet ist, werden von IntelliTrace z. B. Werte erfasst, die im Fenster Auto sichtbar sind. Wenn das Fenster Auto geschlossen ist, werden diese Werte nicht erfasst.

    Wenn Sie auf eine Variable in einem Quellcodefenster zeigen, wird der im DataTip angezeigte Wert erfasst. Werte in einem fixierten DataTip werden jedoch nicht erfasst.

  • Ausnahmeereignisse. Diese treten bei behandelten Ausnahmen an den Punkten auf, an denen die Ausnahme ausgelöst und abgefangen wird, sowie bei nicht behandelten Ausnahmen. IntelliTrace erfasst den Ausnahmetyp und die Ausnahmemeldung.

  • Framework-Ereignisse. Diese treten in der .NET-Bibliothek auf. Sie können eine vollständige Liste von .NET-Ereignissen anzeigen, die im Dialogfeld Optionen auf der Seite IntelliTrace-Ereignisse erfasst werden können. Die von IntelliTrace gesammelten Daten variieren entsprechend dem jeweiligen Ereignis. Für ein File Access-Ereignis wird von IntelliTrace der Name der Datei erfasst. Für ein Check Checkbox-Ereignis werden der Kontrollkästchenzustand und der Text erfasst, usw.

Zum Anzeigen einer Liste der erfassten IntelliTrace-Ereignisse klicken Sie im IntelliTrace-Fenster auf die Registerkarte IntelliTrace-Ereignisse. Debuggerereignisse werden stets erfasst, wenn IntelliTrace aktiviert ist. Sie können deren Auflistung nicht deaktivieren.

Die häufigsten Framework-Ereignisse werden standardmäßig erfasst. Andere .NET-Ereignisse können Sie über die folgende Prozedur auswählen. Zudem können Sie die Auflistung beliebiger oder aller .NET-Ereignisse deaktivieren. Um eine bessere Übersichtlichkeit im IntelliTrace-Fenster zu erzielen, können Sie die Auflistung nicht relevanter Ereignisse deaktivieren. Das Aktivieren oder Deaktivieren der Erfassung bestimmter Ereignisse besitzt im Allgemeinen geringe Auswirkungen auf die Anwendungsleistung.

So wählen Sie die aufzuzeichnenden IntelliTrace-Ereignisse aus

  1. Klicken Sie auf der Symbolleiste des IntelliTrace-Fensters auf das Symbol IntelliTrace-Einstellungen öffnen.

    – oder –

    1. Klicken Sie im Menü Extras auf Optionen.

    2. Zeigen Sie im Dialogfeld Optionen auf den Knoten IntelliTrace, und klicken Sie anschließend auf Allgemein.

  2. Überprüfen Sie, ob IntelliTrace aktivieren aktiviert ist.

    Tipp

    Wenn Sie das Kontrollkästchen IntelliTrace aktivieren deaktivieren, werden alle benutzerdefinierten Einstellungen deaktiviert.

  3. Klicken Sie unter dem Knoten IntelliTrace auf IntelliTrace-Ereignisse.

  4. Suchen Sie im Feld IntelliTrace-Ereignisse nach relevanten Kategorien von Ereignissen.

    1. Zum Anzeigen einzelner Ereignisse klicken Sie auf das Strukturansicht-Steuerelement neben dem Kategorienamen. So können Sie beispielsweise Registrierung erweitern, um bestimmte Registrierungsereignisse wie ClosedRegistryKey anzuzeigen.

    2. Zum Aktivieren oder Deaktivieren der Aufzeichnung einer ganzen Ereigniskategorie aktivieren Sie das Kontrollkästchen neben dem betreffenden Kategorienamen.

    3. Zum Aktivieren oder Deaktivieren der Aufzeichnung eines bestimmten Ereignisses aktivieren Sie das Kontrollkästchen neben dem Namen des betreffenden Ereignisses.

  5. Klicken Sie auf OK.

  6. Während des Debuggens müssen Sie die Debugsitzung neu starten, damit Änderungen wirksam werden.

Aufrufe und Parameter

Wenn Sie während des Debuggens mit IntelliTrace weitere Informationen benötigen, können Sie Informationen zu deren Aufrufen und Parametern erfassen. Das Erfassen von Aufrufinformationen kann sich auf die Leistung der Anwendung auswirken und zur Vergrößerung der Protokolldateien beitragen.

Das Erfassen von Aufrufinformationen ist mit der Verwendung der Funktion Bearbeiten und Fortfahren des Visual Studio-Debuggers nicht kompatibel. Wenn Sie Aufrufinformationen erfassen, wird Bearbeiten und Fortfahren automatisch deaktiviert und kann nicht erneut aktiviert werden, so lange die Auflistung der Aufrufinformationen aktiviert ist.

Wenn Sie IntelliTrace-Ereignisse und Aufrufinformationen aktivieren, erfasst IntelliTrace einen Datensatz für jeden Aufrufeintrag und jede Beendigung. Bei einem Eintrag erfasst IntelliTrace Namen und Wertinformationen für jeden Parameter. Bei Arrays werden nur die ersten 256 Objekte aufgezeichnet. Bei Objekten wird nur die oberste Ebene der Struktur aufgezeichnet. Bei Beendigung erfasst IntelliTrace den Rückgabewert der Methode.

So aktivieren Sie die Auflistung der Aufrufinformationen

  1. Klicken Sie im Dialogfeld Optionen unter dem Knoten IntelliTrace auf Allgemein.

  2. Klicken Sie auf der Seite Allgemein auf IntelliTrace-Ereignisse und Aufrufinformationen.

  3. Klicken Sie auf OK.

Konfigurieren der Auflistungen nach Modul

Sie können die Auflistung der IntelliTrace-Informationen für bestimmte Module aktivieren oder deaktivieren. Diese Fähigkeit ist nützlich, da bestimmte Module für Debugzwecke wahrscheinlich nicht interessant sind. Sie können z. B. eine Projektmappe mit Legacy-DLL-Projekten debuggen, die gut getestet und gründlich gedebuggt werden. Durch Ausschließen nicht relevanter Module erhöhen Sie die Übersichtlichkeit des Fensters IntelliTrace und erleichtern so die Konzentration auf den relevanten Code. Zudem können Sie so die Leistung verbessern sowie den von der Protokolldatei verwendeten Speicherplatz reduzieren. Dies kann zu erheblichen Unterschieden führen, wenn Sie zu Aufrufe und Parameter erfassen.

So erfassen Sie Daten in ausgewählten Modulen

  1. Klicken Sie im Dialogfeld Optionen unter dem Knoten IntelliTrace auf Module.

  2. Aktivieren Sie die Option Daten aus allen Modulen mit Ausnahme der folgenden auflisten oder Daten nur aus den folgenden Modulen auflisten.

    Unter dieser Einstellung finden Sie eine Liste von Modulnamen.

  3. Zum Entfernen eines Moduls aus der Liste wählen Sie den Modulnamen aus, und klicken Sie auf die Schaltfläche Entfernen.

  4. So fügen Sie der Liste ein Modul hinzu

    1. Klicken Sie auf die Schaltfläche Hinzufügen.

      Das Dialogfeld Muster hinzufügen wird angezeigt.

    2. Geben Sie im Feld Gesuchtes Zeichenfolgenmuster eingeben den Namen des Moduls ein, das Sie der Liste hinzufügen möchten. Sie können am Anfang oder am Ende der Zeichenfolge Bezeichner für Platzhalterzeichen verwenden, um mehrere Module hinzuzufügen.

    3. Klicken Sie auf Hinzufügen.

    Als Modulnamen müssen Dateinamen verwendet werden, keine Assemblynamen. Dateipfade werden nicht akzeptiert.

  5. Klicken Sie auf OK.

    Tipp

    Wenn die Auflistung auf der Seite Allgemein auf Nur IntelliTrace-Ereignisse festgelegt ist, haben die Moduleinstellungen keine Auswirkungen.

Siehe auch

Konzepte

Debuggen mit IntelliTrace