Share via


Zuordnen von Methoden in der Aufrufliste beim Debuggen in Visual Studio

Erstellen Sie eine Codezuordnung, um die Aufrufliste während des Debuggens visuell zu verfolgen. Sie können Notizen auf der Zuordnung vermerken, um das Verhalten des Codes zu verfolgen, sodass Sie sich auf das Suchen von Fehlern konzentrieren können.

Debuggen mit Aufruflisten in Codezuordnungen

Sie benötigen Folgendes:

Siehe: Video: Visuelles Debuggen mit der Code Map-Debuggerintegration (Channel 9) • Map the call stack • Make notes about the code • Update the map with the next call stack • Add related code to the map • Find bugs using the map • Q & A

Zuordnen der Aufrufliste

  1. Beginnen Sie mit dem Debuggen. (Tastatur: F5)

  2. Wenn Ihre Anwendung in den Unterbrechungsmodus wechselt oder Sie eine Funktion schrittweise ausführen, wählen Sie Code Map aus. (Tastatur: STRG + UMSCHALT + `)

    Codezuordnung auswählen, um Aufruflistenzuordnung zu starten

    Die aktuelle Aufrufliste wird in einer neuen Codezuordnung orange dargestellt:

    Aufrufliste in Codezuordnung

    Die Map wird beim Debuggen automatisch aktualisiert. Siehe Update the map with the next call stack.

Aufzeichnen von Notizen zum Code

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

Kommentar zu Aufrufliste in Codezuordnung hinzufügen

Aktualisieren der Zuordnung mit der nächsten Aufrufliste

Führen Sie die Anwendung bis zum nächsten Haltepunkt aus, oder führen Sie eine Funktion schrittweise aus. Die Zuordnung fügt eine neue Aufrufliste hinzu.

Codezuordnung mit nächster Aufrufliste aktualisieren

Hinzufügen von zugehörigem Code zur Zuordnung

Nun verfügen Sie über eine Zuordnung. Was geschieht als Nächstes? Wenn Sie Visual C# .NET oder Visual Basic .NET. verwenden, fügen Sie Elemente wie Felder, Eigenschaften und andere Methoden hinzu, um nachzuverfolgen, was im Code geschieht.

Doppelklicken Sie auf eine Methode, um ihre Codedefinition anzuzeigen. (Tastatur: Wählen Sie die Methode in der Zuordnung aus, und drücken Sie F12.)

Für eine Methode in der Codezuordnung zur Codedefinition wechseln

Fügen Sie die Elemente hinzu, die Sie in der Zuordnung nachverfolgen möchten.

Felder anzeigen, die mit einer Methode in der Aufruflisten-Codezuordnung verknüpft sind

Felder, die mit einer Methode in der Aufruflisten-Codezuordnung verknüpft sind

Hier können Sie leicht erkennen, welche Methoden die gleichen Felder verwenden. Die zuletzt hinzugefügten Elemente werden grün dargestellt.

Setzen Sie das Erstellen der Zuordnung fort, um weiteren Code anzuzeigen.

Methoden, die ein Feld verwenden: Aufruflisten-Codezuordnung

Methoden, die ein Feld für die Aufruflisten-Codezuordnung verwenden

Suchen von Fehlern mithilfe der Zuordnung

Durch die Visualisierung des Codes können Sie Fehler schneller finden. Angenommen Sie untersuchen beispielsweise einen Fehler in einem Zeichenprogramm. Wenn Sie eine Linie zeichnen und versuchen, sie rückgängig zu machen, geschieht nichts, bis Sie eine andere Zeile zeichnen.

Legen Sie die Haltepunkte fest, starten Sie das Debugging, und erstellen Sie eine Zuordnung wie die folgende:

Weitere Aufrufliste zu Codezuordnung hinzufügen

Sie stellen fest, dass alle Benutzergesten in der Zuordnung die Repaint-Funktion aufrufen, außer undo. Dies erklärt möglicherweise, warum undo nicht sofort funktioniert.

Nachdem Sie den Fehler korrigiert haben und die Ausführung des Programms fortsetzen, fügt die Zuordnung den neuen Aufruf von undo zur Repaint-Funktion hinzu:

Neuen Methodenaufruf zu Aufrufliste in Codezuordnung hinzufügen

Fragen und Antworten

  • Nicht alle Aufrufe werden in der Zuordnung angezeigt. Warum?

    Standardmäßig wird nur Ihr Code in der Zuordnung angezeigt. Um externen Code anzuzeigen, aktivieren Sie ihn im Fenster Aufrufliste, oder deaktivieren Sie Nur meinen Code aktivieren in den Visual Studio-Debugoptionen.

  • Wird der Code durch Ändern der Zuordnung beeinflusst?

    Der Code wird durch Ändern der Zuordnung in keiner Weise beeinflusst. Sie können beliebigen Code in der Zuordnung gerne 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 Zuordnung zuletzt aktualisiert haben. Zum Beispiel befindet sich möglicherweise ein Aufruf für die Zuordnung nicht mehr im Code. Schließen Sie die Meldung, und versuchen Sie dann, die Projektmappe vor der erneuten Aktualisierung der Zuordnung neu zu erstellen.

  • Wie lege ich das Layout der Zuordnung fest?

    Öffnen Sie das Menü Layout auf der Zuordnungssymbolleiste:

    • Ändern Sie das Standardlayout.

    • Um zu verhindern, dass die Zuordnung automatisch neu angeordnet wird, deaktivieren Sie die Option Automatisches Layout beim Debugging.

    • Um die Zuordnung beim Hinzufügen von Elementen so wenig wie möglich neu anzuordnen, deaktivieren Sie die Option Inkrementelles Layout.

  • Kann ich die Zuordnung für andere Benutzer freigeben?

    Sie können die Zuordnung exportieren, an andere Benutzer senden (sofern Sie über Microsoft Outlook verfügen) oder in der Projektmappe speichern, um sie in der Team Foundation-Versionskontrolle einzuchecken.

    Aufruflisten-Codezuordnung für andere Benutzer freigeben

  • Wie kann ich verhindern, dass die Zuordnung neue Aufruflisten automatisch hinzufügt?

    Wählen Sie Schaltfläche für die automatische Anzeige der Aufrufliste in der Codezuordnung auf der Zuordnungssymbolleiste aus. Um der Zuordnung die aktuelle Aufrufliste manuell hinzuzufügen, drücken Sie STRG + UMSCHALT + `.

    Während des Debuggens hebt die Zuordnung weiterhin vorhandene Aufruflisten in der Zuordnung hervor.

  • Was bedeuten die Elementsymbole und Pfeile?

    Um weitere Informationen zu einem Element zu erhalten, schauen Sie sich die QuickInfo des jeweiligen Elements an. Sie können sich auch die Legende anschauen, um mehr über die Bedeutung des jeweiligen Symbols zu erfahren.

    Was bedeuten die Symbole in der Aufruflisten-Codezuordnung?

Siehe: Map the call stack • Make notes about the code • Update the map with the next call stack • Add related code to the map • Find bugs using the map