Freigeben über


Zuordnen von Methoden im Aufrufstapel beim Debuggen in Visual Studio

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.

Debugging mit Aufrufstapeln auf Codekarten

Sie benötigen Folgendes:

Zuordnen des Aufrufstapels

  1. Starten Sie das Debuggen. (Tastatur: F5)

  2. Nachdem Ihre App in den Unterbrechungsmodus wechselt oder Sie in eine Funktion einsteigen, wählen Sie Code Map aus. (Tastatur: STRG + Umschalt + `)

    Wählen Sie

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

    Anzeigen des Aufrufstapels auf der Code-Karte

    Die Karte wird automatisch aktualisiert, während Sie mit dem Debuggen fortfahren. Siehe Karte mit dem nächsten Aufrufstapel aktualisieren.

Erstellen von Notizen zum Code

Fügen Sie Kommentare hinzu, um nachzuverfolgen, was im Code passiert. Um eine neue Zeile in einem Kommentar hinzuzufügen, drücken Sie UMSCHALT+EINGABETASTE.

Kommentar zum Call-Stack auf der Codekarte hinzufügen

Aktualisieren Sie die Karte mit dem nächsten Aufrufstapel

Führen Sie Ihre App bis zum nächsten Haltepunkt aus, oder steigen Sie in eine Funktion ein. Die Karte fügt einen neuen Aufrufstapel hinzu.

Aktualisieren der Codezuordnung mit dem nächsten Aufrufstapel

Hinzufügen von zugehörigem Code zur Karte

Jetzt haben Sie eine Karte - was als Nächstes? Wenn Sie mit C# oder Visual Basic arbeiten, fügen Sie Elemente wie Felder, Eigenschaften und andere Methoden hinzu, um nachzuverfolgen, was im Code geschieht.

Doppelklicken Sie auf eine Methode, um die Codedefinition anzuzeigen, oder verwenden Sie das Kontextmenü für die Methode. (Tastatur: Wählen Sie die Methode auf der Karte aus, und drücken Sie F12)

Zur Codedefinition einer Methode auf der Codekarte wechseln

Fügen Sie die Elemente hinzu, die Sie auf der Karte nachverfolgen möchten.

Felder in einer Methode auf der Aufrufstapel-Kartenansicht anzeigen

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. Obwohl dies hilfreich ist, können Sie die Karte einfach halten, indem Sie dieses Feature mithilfe der Schaltfläche " Eltern einschließen " auf der Kartensymbolleiste deaktivieren oder strg drücken, wenn Sie Elemente hinzufügen.

Felder, die sich auf eine Methode in der Aufrufstapel-Codezuordnung beziehen

Hier können Sie ganz einfach sehen, welche Methoden dieselben Felder verwenden. Die zuletzt hinzugefügten Elemente werden grün angezeigt.

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

Methoden anzeigen, die ein Feld nutzen: Codekarte des Aufrufstapels

Methoden, die ein Feld für die 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 einem Zeichenprogramm. 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 das Programm weiterhin ausgeführt haben, fügt die Karte den neuen Aufruf von undo zu Repaint hinzu.

Hinzufügen eines neuen Methodenaufrufs zum Aufrufen des Stapels auf der Codezuordnung

Fragen und Antworten

  • Nicht alle Anrufe werden auf der Karte angezeigt. Why?

    Standardmäßig wird nur Ihr eigener Code auf der Karte angezeigt. Um externen Code anzuzeigen, aktivieren Sie ihn im Fenster "Anrufstapel ":

    Anzeigen von externem Code mithilfe des Fensters

    Deaktivieren Sie "Just My Code" in den Debugoptionen von Visual Studio:

    Anzeigen von externem Code mithilfe des Dialogfelds

  • Wirkt sich das Ändern der Karte auf den Code aus?

    Das Ändern der Karte wirkt sich nicht auf den Code aus. Sie können alles auf der Karte umbenennen, verschieben oder entfernen.

  • Was bedeutet diese Meldung: "Das Diagramm basiert möglicherweise auf einer älteren Version des Codes"?

    Der Code wurde möglicherweise geändert, 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.

  • Wie steuere ich das Layout der Karte?

    Öffnen Sie das Menü "Layout" auf der Kartensymbolleiste:

    • Ändern Sie das Standardlayout.

    • Um das automatische Neuanordnen der Karte zu beenden, deaktivieren Sie das automatische Layout beim Debuggen.

    • Wenn Sie die Karte beim Hinzufügen von Elementen so wenig wie möglich neu anordnen möchten, deaktivieren Sie Inkrementelles Layout.

  • Kann ich die Karte für andere personen freigeben?

    Sie können die Karte exportieren, an andere Personen senden, wenn Sie Über Microsoft Outlook verfügen, oder sie in Ihrer Lösung speichern, damit Sie sie in die Quellcodeverwaltung einchecken können.

    Freigeben der Anrufstapelcodezuordnung für andere Personen

  • Wie kann ich verhindern, dass die Karte automatisch neue Anrufstapel hinzufügt?

    Wählen Sie die Schaltfläche - Stapelverfolgung automatisch auf der Codierungskarte anzeigen auf der Symbolleiste der Karte. Um den aktuellen Aufrufstapel manuell zur Karte hinzuzufügen, drücken Sie STRG + UMSCHALT + `.

    Die Karte hebt weiterhin vorhandene Aufrufstapel auf der Karte hervor, während Sie debuggen.

  • Was bedeuten die Elementsymbole und Pfeile?

    Um mehr Informationen zu einem Element zu erhalten, bewegen Sie den Mauszeiger darüber und sehen Sie sich den Tooltip des Elements an. Sie können auch die Legende betrachten, um zu erfahren, was jedes Symbol bedeutet.

    Was bedeuten Symbole auf der Aufrufstapel-Codezuordnung?

    Siehe:

  • Zuordnen des Aufrufstapels

  • Erstellen von Notizen zum Code

  • Aktualisieren der Karte mit dem nächsten Aufrufstapel

  • Hinzufügen von zugehörigem Code zur Karte

  • Suchen von Fehlern mithilfe der Karte