Freigeben über


Erstellen einer visuellen Zuordnung des Aufrufstapels beim Debuggen (C#, Visual Basic, C++, JavaScript)

Erstellen Sie eine Codemap, um den Aufrufstapel beim Debuggen visuell zu verfolgen. Sie können Notizen auf der Karte erstellen, um nachzuverfolgen, was der Code tut, damit Sie sich auf das Auffinden von Fehlern konzentrieren können.

Details zu Befehlen und Aktionen, die Sie mit Codezuordnungen verwenden können, finden Sie unter Durchsuchen und Neuanordnen von Codezuordnungen.

Von Bedeutung

Sie können Codemaps nur in Visual Studio Enterprise edition erstellen.

Hier ist ein kurzer Blick auf eine Codeübersicht.

Fehlersuche mit Aufrufstapeln auf Codekarten

Zuordnen des Aufrufstapels

  1. Starten Sie in einem Visual Studio Enterprise C#-, Visual Basic-, C++- oder JavaScript-Projekt das Debuggen, indem Sie "Debuggen>starten" auswählen oder F5 drücken.

  2. Nachdem Ihre App in den Unterbrechungsmodus wechselt oder Sie in eine Funktion eintreten, wählen Sie Codekarte für Debuggen>, oder drücken Sie Strg++.

    Der aktuelle Aufrufstapel wird in Orange auf einer neuen Codezuordnung angezeigt:

    Aufrufstapel auf der Codekarte anzeigen

Die Codezuordnung wird automatisch aktualisiert, während Sie mit dem Debuggen fortfahren. Das Ändern von Kartenelementen oder Layout wirkt sich nicht auf den Code aus. Sie können alles auf der Karte umbenennen, verschieben oder entfernen.

Wenn Sie weitere Informationen zu einem Element erhalten möchten, zeigen Sie darauf, und schauen Sie sich die QuickInfo des Elements an. Sie können auch auf der Symbolleiste "Legende" auswählen, um zu erfahren, was jedes Symbol bedeutet.

Hinweis

Die Meldung Das Diagramm basiert möglicherweise auf einer älteren Version des Codes oben in der Codezuordnung, was bedeutet, dass sich der Code möglicherweise geändert hat, nachdem Sie die Karte zuletzt aktualisiert haben. Beispielsweise ist ein Aufruf auf der Karte möglicherweise nicht mehr im Code vorhanden. Schließen Sie die Nachricht, und versuchen Sie dann, die Lösung neu zu erstellen, bevor Sie die Karte erneut aktualisieren.

Zuordnen externer Code

Standardmäßig wird nur Ihr eigener Code auf der Karte angezeigt. Externer Code auf der Karte anzeigen

  • Klicken Sie mit der rechten Maustaste in das Fenster "Anrufstapel ", und wählen Sie " Externer Code anzeigen" aus:

    Anzeigen von externem Code mithilfe desAufrufstapel" DebuggerMap_CallStackMenu

  • Oder deaktivieren Sie das Kontrollkästchen "Nur mein Code aktivieren " in Visual Studio:

    Diese Option ist im Bereich "Extras" (oder "Debugoptionen") > im Abschnitt "Alle Einstellungen>>" verfügbar:

    Screenshot, der zeigt, wie Die Option

    Diese Option ist im Dialogfeld "Extras" (oder "Debugoptionen") > im Abschnitt "Debugging>" verfügbar:

    Anzeigen von externem Code mithilfe des Dialogfelds

Steuern des Kartenlayouts

Das Ändern des Kartenlayouts wirkt sich nicht auf den Code aus.

Um das Layout der Karte zu steuern, wählen Sie das Menü "Layout " auf der Kartensymbolleiste aus.

Im Menü "Layout" haben Sie folgende Möglichkeiten:

  • Ändern Sie das Standardlayout.
  • Beenden Sie das automatische Neuanordnen der Karte, indem Sie beim Debuggen die Option "Automatisches Layout" deaktivieren.
  • Ordnen Sie die Karte so wenig wie möglich neu an, wenn Sie Elemente hinzufügen, indem Sie das Inkrementale Layout deaktivieren.

Erstellen von Notizen zum Code

Sie können Kommentare hinzufügen, um nachzuverfolgen, was im Code passiert.

Wenn Sie einen Kommentar hinzufügen möchten, klicken Sie mit der rechten Maustaste in die Codezuordnung, und wählen Sie "Neuen Kommentar>" aus, und geben Sie dann den Kommentar ein.

Um eine neue Zeile in einem Kommentar hinzuzufügen, drücken Sie Shift++Enter.

Kommentar zum Aufrufstapel auf der Codekarte hinzufügen

Aktualisieren Sie die Karte mit dem nächsten Aufrufstapel

Wenn Sie Ihre App zum nächsten Haltepunkt weiterführen oder in eine Funktion eintreten, wird die Map automatisch um neue Aufrufstapel ergänzt.

Aktualisieren der Codekarte mit dem nächsten Anrufstapel

Um zu verhindern, dass die Code-Karte neue Aufrufstapel automatisch hinzufügt, wählen Sie "Aufrufstapel auf Code-Karte automatisch anzeigen aus. Die Karte hebt weiterhin vorhandene Aufrufstapel hervor. Um den aktuellen Aufrufstapel manuell zur Karte hinzuzufügen, drücken Sie STRG+UMSCHALT+`.

Hinzufügen von zugehörigem Code zur Karte

Nachdem Sie nun eine Karte in C# oder Visual Basic haben, können Sie Elemente wie Felder, Eigenschaften und andere Methoden hinzufügen, um nachzuverfolgen, was im Code geschieht.

Um zur Definition einer Methode im Code zu wechseln, doppelklicken Sie auf die Methode in der Karte, oder wählen Sie sie aus, und drücken Sie F12, oder klicken Sie mit der rechten Maustaste darauf, und wählen Sie "Gehe zu Definition" aus.

Wechseln Sie zur Codedefinition für eine Methode auf der Codekarte

Wenn Sie der Karte Elemente hinzufügen möchten, die Sie nachverfolgen möchten, klicken Sie mit der rechten Maustaste auf eine Methode, und wählen Sie die Elemente aus, die Sie nachverfolgen möchten. Die zuletzt hinzugefügten Elemente werden grün angezeigt.

Methodenbezogene Felder auf der Aufrufstapel-Code-Karte

Hinweis

Standardmäßig fügt das Hinzufügen von Elementen zur Karte auch die übergeordneten Gruppenknoten, wie die Klasse, den Namespace und die Assembly, hinzu. Sie können dieses Feature deaktivieren und aktivieren, indem Sie die Schaltfläche "Eltern einschließen" auf der Codezuordnungssymbolleiste auswählen oder Strg drücken, während Sie Elemente hinzufügen.

Anzeigen von Feldern in einer Methode auf der Aufrufstapel-Codekarte

Bauen Sie die Karte weiter aus, um weiteren Code anzuzeigen.

Methoden anzeigen, die ein Feld verwenden: Codezuordnung des Aufrufstapels

Methoden, die ein Feld in der Aufrufstapel-Codezuordnung verwenden

Suchen von Fehlern mithilfe der Karte

Die Visualisierung Ihres Codes kann Ihnen helfen, Fehler schneller zu finden. Angenommen, Sie untersuchen einen Fehler in einer Zeichnungs-App. Wenn Sie eine Linie zeichnen und versuchen, sie rückgängig zu machen, geschieht nichts, bis Sie eine andere Linie zeichnen.

Sie legen also Haltepunkte in den clear, undound Repaint Methoden fest, starten Sie das Debuggen, und erstellen Sie eine Karte wie diese:

Einen weiteren Aufrufstapel zur Codekarte hinzufügen

Sie bemerken, dass alle Benutzergesten auf der Karte Repaint aufrufen, mit Ausnahme von undo. Dies könnte erklären, warum undo nicht sofort funktioniert.

Nachdem Sie den Fehler behoben und die App weiterhin ausgeführt haben, fügt die Karte den neuen Aufruf von undo bis Repaint hinzu.

Neuen Methodenaufruf zum Aufrufstapel auf der Code-Karte hinzufügen

Teilen Sie die Karte mit anderen

Sie können eine Karte exportieren, mit Microsoft Outlook an andere Personen senden, sie in Ihrer Lösung speichern und in die Versionsverwaltung einchecken.

Um die Karte zu teilen oder zu speichern, verwenden Sie "Teilen" in der Code-Map-Symbolleiste.

Freigabe der Code-Zuordnung des Aufrufstapels für andere