Debuggen Ihrer Anwendung durch Aufzeichnung der Codeausführung mit IntelliTrace

Mit IntelliTrace in Visual Studio Ultimate lässt sich der Ausführungsverlauf einer Anwendung aufzeichnen und verfolgen, was Zeit beim Debuggen Ihrer Anwendung spart.Sie finden Fehler einfach und unkompliziert, ohne extra viele Haltepunkte festzulegen. Denn mit IntelliTrace können Sie:

  • Bestimmte Ereignisse in der Anwendung aufzeichnen.

    Dies dient zum Überprüfen von verknüpftem Code, von Daten, die bei Debuggerereignissen im Fenster Lokal angezeigt werden und von Funktionsaufrufsinformationen, sofern Sie diese sammeln.

  • Neustarts der Anwendung einschränken, um Fehler oder Ereignisse erneut zu erstellen.

  • Fehler debuggen, die schwer reproduzierbar sind oder außerhalb von Visual Studio vorkommen, beispielsweise in der Produktion oder in anderen Umgebungen.

Dieses Beispiel verdeutlicht den Vorteil der Ablaufverfolgung von Ereignissen bei der Fehlersuche in Code:

Nur IntelliTrace-Ereignisse - Übersicht über Vorgehensweise

So funktioniert IntelliTrace: Visual Studio Ultimate 2012: Sammeln und Analysieren von Daten in der Produktion (Channel-9-Video).

Was möchten Sie tun?

Debuggen der Anwendung mit IntelliTrace in Visual Studio:

  • Vergangene Ereignisse auflisten.

  • Aufrufinformationen mit vergangenen Ereignissen anzeigen.

  • Die IntelliTrace-Sitzung speichern.

  • Die Daten steuern, die IntelliTrace erfasst.

Sammeln von IntelliTrace-Daten während einer Testsitzung im Test Manager

Sammeln von IntelliTrace-Daten von Anwendungen, die außerhalb von Visual Studio ausgeführt werden

Starten Sie das Debuggen von einer IntelliTrace-Protokolldatei (ITRACE-Datei).

FAQ

  • Welche Anwendungen kann ich mit IntelliTrace debuggen?

  • Warum sollte ich mit IntelliTrace debuggen?

  • Welche Daten erfasst IntelliTrace?

  • Verlangsamt IntelliTrace meine Anwendung?

Welche Anwendungen kann ich mit IntelliTrace debuggen?

Unterstützt

Eingeschränkte Unterstützung

  • F#-Apps versuchsweise

  • Windows Store-Apps nur für Ereignisse unterstützt

Nicht unterstützt

  • C++, andere Sprachen und Skript

  • Silverlight, Xbox oder Windows Mobile-Apps

HinweisHinweis

IntelliTrace kann nicht verwendet werden, um einen Prozess zu debuggen, der bereits ausgeführt wird.Sie müssen IntelliTrace zu Beginn des Prozesses starten.

Warum sollte ich mit IntelliTrace debuggen?

Herkömmliche oder Live-Debuggenvorgänge zeigen nur den aktuellen Zustand der Anwendung mit eingeschränkten Informationen zu vergangenen Ereignissen.Sie müssen diese Ereignisse entweder auf Grundlage des aktuellen Anwendungszustands ableiten, oder Sie müssen diese Ereignisse neu erstellen, indem Sie die Anwendung erneut ausführen.

IntelliTrace erweitert diese herkömmlichen Debuggenvorgänge, indem bestimmte Ereignisse und Daten an diesen Zeitpunkten erfasst werden.Somit können Sie auch ohne Neustart der Anwendung die Ereignisse verfolgen und finden auch bereits aufgetretene Fehler.IntelliTrace ist standardmäßig während des herkömmlichen Debuggen aktiviert, sodass Daten automatisch und unsichtbar erfasst werden.Sie können also zwischen dem herkömmlichen Debuggen und dem IntelliTrace-Debuggen problemlos wechseln, um die aufgezeichneten Informationen abzurufen.Siehe Aufzeichnung der Codeausführung mit IntelliTrace zum Debuggen in Visual Studio und Welche Daten erfasst IntelliTrace?

IntelliTrace hilft Ihnen außerdem beim Debuggen von Fehlern, die schwer reproduzierbar sind oder außerhalb von Visual Studio auftreten.Sie können IntelliTrace-Daten sammeln und in einer IntelliTrace-Protokolldatei (ITRACE-Datei) speichern.Eine ITRACE-Datei enthält Details über Ausnahmen, Threads, Webanforderungen, Testdaten, Module und andere Systeminformationen.Diese Datei kann in Visual Studio Ultimate geöffnet werden. Dort wählen Sie ein Element aus und beginnen mit dem Debuggen mit IntelliTrace.Sie können also zu jedem beliebigen Ereignis in der Datei gehen und bestimmte Einzelheiten über die Anwendung an diesem Punkt anzeigen lassen.

IntelliTrace-Daten können aus den folgenden Quellen gespeichert werden:

  • IntelliTrace-Sitzung in Visual Studio Ultimate

  • Testsitzung in Microsoft Test Manager

  • Anwendungen, die außerhalb von Visual Studio ausgeführt werden, beispielsweise in der Produktionsumgebung oder anderen Umgebungen

  • Visual Studio 2012.1: Apps, die von System Center 2012 Service Pack 1 (SP1) - Vorgangs-Manager mit IntelliTrace Profiling Management Pack überwacht werden.Siehe Konfigurieren der Integration mit IntelliTrace in System Center 2012.

Siehe Debuggen Ihrer Anwendung mit IntelliTrace-Protokolldateien (.iTrace).

Im Folgenden werden einige Beispiele aufgeführt, die den Nutzen von IntelliTrace beim Debuggen veranschaulichen:

  • Ihre Anwendung hat eine Datendatei beschädigt, doch Sie wissen nicht, wann das passiert ist.

    Ohne IntelliTrace müssten Sie den Code auf alle möglichen Dateizugriffe durchsuchen, Haltepunkte für diese Zugriffe festlegen und die Anwendung dann erneut ausführen, um die Stelle ausfindig zu machen, an der das Problem aufgetreten ist.Mit IntelliTrace können Sie alle erfassten Dateizugriffsereignisse und bestimmte Details über die Anwendung finden, wenn Ereignisse auftreten.

  • Eine Ausnahme tritt auf.

    Ohne IntelliTrace erhalten Sie zwar eine Meldung über eine Ausnahme, aber Sie bekommen kaum Informationen über die Ereignisse, die zu der Ausnahme geführt haben.Sie können in der Aufrufliste die Kette der Aufrufe untersuchen, die zur Ausnahme geführt haben, aber Sie können nicht die Ereignisabfolge während dieser Aufrufe einsehen.Mit IntelliTrace können Sie die Ereignisse untersuchen, die vor der Ausnahme auftraten.

  • Die Anwendung stürzt auf einem Testcomputer ab, wird jedoch auf einem Entwicklungscomputer erfolgreich ausgeführt.

    Sie können IntelliTrace-Daten vom Microsoft Test Manager sammeln, die Daten in einer ITRACE-Datei speichern und diese Datei später einer Team Foundation Server-Arbeitsaufgabe für die Untersuchung hinzufügen.Weitere Informationen finden Sie unter Einbeziehen diagnostischer Ablaufverfolgungsdaten mit Fehlern, die schwer zu reproduzieren sind und Debuggen Ihrer Anwendung mit IntelliTrace-Protokolldateien (.iTrace).

  • Ein Fehler oder ein Absturz tritt in einer Anwendung auf, die außerhalb von Visual Studio ausgeführt wird.

    Für Windows Azure-basierte Apps können Sie vor dem Öffnen der Anwendung die IntelliTrace-Datensammlung konfigurieren.Während die App ausgeführt wird, werden von IntelliTrace Daten in einer ITRACE-Datei gespeichert.Siehe Debuggen eines veröffentlichten gehosteten Diensts mit IntelliTrace und Visual Studio.

    Für verwaltete Desktop-Apps (EXE-Dateien), ASP.NET-Web Apps, die unter IIS 7.0, 7.5 und 8.0 gehostet werden, und SharePoint 2010-Anwendungen lassen sich IntelliTrace-Daten mithilfe des eigenständigen Collectors in einer ITRACE-Datei speichern.

    Dies ist hilfreich, wenn Sie Probleme mit Apps ermitteln möchten, die in Bereichen ausgeführt werden, in denen Sie die Systemkonfiguration nicht ändern möchten, etwa in einer Produktionsumgebung.Sie können den Collector ohne Änderung der Systemkonfigurationen installieren.Nachdem die Daten gesammelt wurden, kann der Collector mit einem Löschvorgang deinstalliert werden.Siehe Sammeln von IntelliTrace-Daten außerhalb von Visual Studio mit eigenständiger Auflistung.

Welche Daten erfasst IntelliTrace?

Sammeln von Ereignisinformationen

IntelliTrace zeichnet standardmäßig nur IntelliTrace-Ereignisse auf.Dies sind Debuggerereignisse, Ausnahmen, .NET Framework-Ereignisse und andere Systemereignisse, die beim Debuggen hilfreich sein können.Sie können die IntelliTrace-Ereignisse auswählen, die Sie sammeln möchten. Debuggerereignisse und -ausnahmen werden allerdings immer gesammelt.Siehe Konfigurieren der IntelliTrace-Auflistung zum Debuggen in Visual Studio.

  • Debuggerereignisse

    IntelliTrace zeichnet alle Ereignisse auf, die im Visual Studio-Debugger stattfinden.Beispielsweise ist der Anwendungsstart ein Debuggerereignis.Weitere Debuggerereignisse sind Beendigungen von Ereignissen, die zur Unterbrechung der Anwendungsausführung führen.Zum Beispiel wenn das Programm einen Haltepunkt oder einen Ablaufverfolgungspunkt erreicht oder einen Schrittbefehl ausführt.

    Für optimale Leistung werden nicht alle möglichen Werte für ein Debuggerereignis von IntelliTrace aufgezeichnet.Stattdessen werden folgende Werte aufgezeichnet:

    • Werte im Lokalfenster.Lassen Sie das Lokalfenster geöffnet, um diese Werte anzuzeigen.

    • Werte im Auto-Fenster, wenn das Auto-Fenster geöffnet ist

    • Werte in DataTips, die angezeigt werden, wenn Sie den Mauszeiger über eine Variable im Quellcodefenster bewegen, um den Wert anzuzeigen.IntelliTrace erfasst keine Werte in angehefteten DataTips.

  • Ausnahmen

    IntelliTrace zeichnet den Ausnahmetyp und die Meldung für diese Ausnahmen auf:

    • Bearbeitete Ausnahmen, in denen die Ausnahme ausgelöst und abgefangen wird

    • Ausnahmefehler

  • .NET Framework-Ereignisse

    IntelliTrace zeichnet standardmäßig die häufigsten .NET Framework-Ereignisse auf.Beispiel:

    • Für ein Dateizugriffsereignis erfasst IntelliTrace den Dateinamen.

    • Für ein Checkbox-Aktivierungsereignis erfasst IntelliTrace den Kontrollkästchenzustand und den Text.

  • Visual Studio 2012.1: SharePoint 2010-Anwendungsereignisse

    Für außerhalb von Visual Studio ausgeführte SharePoint 2010-Anwendungen, können Sie bestimmte SharePoint-Ereignisse in einer ITRACE-Datei aufzeichnen und speichern, indem Sie in Visual Studio 2012.1 den eigenständigen Collector verwenden.

    Wenn Sie die ITRACE-Datei öffnen, können Sie eine SharePoint-Korrelations-ID eingeben, um die entsprechenden Webanforderung zu suchen, die aufgezeichneten Ereignisse anzuzeigen, und das Debuggen von einem bestimmten Ereignis aus zu starten.Wenn die Datei Ausnahmefehler enthält, können Sie eine Korrelations-ID auswählen, um das Debuggen einer Ausnahme zu starten.Sie können Benutzerprofilereignisse und eine Teilmenge der Ereignisse des vereinheitlichten Protokollierungsdiensts (ULS) aufzeichnen.

    Thema

Sammeln von Funktionsaufrufinformationen

Sie können IntelliTrace so konfigurieren, dass Aufrufinformationen für Funktionen gesammelt werden.Anhand dieser Informationen können Sie den Aufruflistenverlauf anzeigen und die Aufrufe im Code vorwärts und rückwärts durchlaufen.Für jeden Funktionsaufruf werden die folgenden Daten von IntelliTrace aufgezeichnet:

  • Funktionsname

  • Werte primitiver Datentypen, die als Parameter an Funktionseinstiegspunkten übergeben und an Funktionsendpunkten zurückgegeben werden

  • Werte von automatischen Eigenschaften, wenn sie gelesen oder geändert werden

  • Zeiger auf untergeordnete Objekte auf der obersten Ebene ohne Werte (außer NULL oder keine)

HinweisHinweis

IntelliTrace erfasst nur die ersten 256 Objekte in Arrays und die ersten 256 Zeichen von Zeichenfolgen.

Siehe Konfigurieren der IntelliTrace-Auflistung zum Debuggen in Visual Studio.

Sammeln von Modulinformationen

Um zu steuern, wie viel Aufrufsinformationen IntelliTrace erfasst, legen Sie nur die Module fest, die für Sie von Bedeutung sind.Das kann dabei helfen, die Appleistung während des Auflistungsvorgangs zu verbessern.Siehe Konfigurieren der IntelliTrace-Auflistung zum Debuggen in Visual Studio.

Verlangsamt IntelliTrace meine Anwendung?

Standardmäßig werden von IntelliTrace nur Daten für ausgewählte IntelliTrace-Ereignisse gesammelt.Das kann, abhängig von der Struktur und der Organisation Ihres Codes, eventuell die Anwendung verlangsamen.Wenn IntelliTrace ein Ereignis beispielsweise häufig aufzeichnet, verlangsamt dies Ihre Anwendung. Allerdings werden Sie möglicherweise auch darauf hingewiesen, die Anwendung umzugestalten.

Das Sammeln der Aufrufsinformationen verlangsamt die App möglicherweise erheblich.Außerdem erhöht sich dadurch möglicherweise die Größe aller auf dem Datenträger gespeicherter IntelliTrace-Protokolldateien (ITRACE-Dateien).Um diese Auswirkungen zu minimieren, sammeln Sie Aufrufinformationen nur für die Module, die Sie interessieren.Um die maximale Größe der ITRACE-Dateien zu ändern, wechseln Sie zu Tools, Optionen, IntelliTrace, Erweitert.Siehe Konfigurieren der IntelliTrace-Auflistung zum Debuggen in Visual Studio.

Wo kann ich weitere Informationen abrufen?

Aufzeichnung der Codeausführung mit IntelliTrace zum Debuggen in Visual Studio

Konfigurieren der IntelliTrace-Auflistung zum Debuggen in Visual Studio

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)

Dd264915.collapse_all(de-de,VS.110).gifBlogs

Visual Studio ALM und Team Foundation Server

Dd264915.collapse_all(de-de,VS.110).gifForen

Visual Studio Debugger

Dd264915.collapse_all(de-de,VS.110).gifEmpfehlungen

Tests für fortlaufende Übermittlung mit Visual Studio 2012 - Kapitel 6: Eine Test-Toolbox

Dd264915.collapse_all(de-de,VS.110).gifVideos

Channel-9-Video – Visual Studio Ultimate 2012: Sammeln und Analysieren von Daten in der Produktion