Share via


Anzeigen bestimmter Abhängigkeiten in Codeübersichten

Wenn Sie bestimmte Abhängigkeiten im Code verstehen möchten, stellen Sie diese visuell dar, indem Sie Codezuordnungen erstellen (nur Visual Studio Ultimate). Sie können dann diese Beziehungen mit Hilfe der Karte navigieren, die neben dem Code angezeigt wird. So können Sie während der Arbeit nachverfolgen, an welcher Stelle im Code Sie sich befinden.

Codezuordnung - Beziehungen im Code zuordnen

Ein grüner Pfeils zeigt die Position des Cursors im Editor an. Sie können, wie auf Papier, Notizen für eine Zuordnung erstellen.

Codezuordnungen helfen Ihnen, die Übersicht in umfangreichen Codebasen, nicht vertrautem Code oder Legacycode zu behalten. Wenn Sie beispielsweise debuggen, müssen Sie sich möglicherweise Code in vielen Dateien und Projekten ansehen. Mithilfe von Codezuordnungen können Sie in diesen Codeabschnitten navigieren und Beziehungen zwischen ihnen anzeigen. Sie müssen sich nicht den gesamten Code merken, Dateien nachverfolgen oder ein separates Diagramm auf Papier erstellen. Wenn Sie die Arbeit unterbrechen müssen, können Codezuordnungen Ihnen helfen, sich den Code wieder ins Gedächtnis zu rufen, an dem Sie arbeiten.

Erstellen oder Öffnen einer Code Map

Zum Erstellen einer Code Map benötigen Sie Visual Studio Ultimate 2013 und eine Projektmappe, die Visual C# .NET-, Visual Basic .NET-, X++ für Microsoft Dynamics AX- oder C++-Code enthält (letzterer mit eingeschränkter Unterstützung). Um die farblich gekennzeichneten Beziehungen zu erhalten, benötigen Sie Visual Studio 2013 Update 3. Zur Zuordnung von X++-Code und Code, der für mehreren Anwendungen freigegeben ist, benötigen Sie Visual Studio 2013 Update 2 oder höher.

Sie können eine Code Map auf folgende Weise erstellen:

  • Klicken Sie mit der rechten Maustaste auf ein Element, wie etwa eine Quelldatei oder eine Binärdatei im Projektmappen-Explorer, und wählen Sie In Code Map anzeigen aus. Dadurch wird eine Code Map für das ausgewählte Element erstellt.

  • Ziehen Sie ein Element, wie etwa eine Quelldatei oder einer Binärdatei, aus dem Projektmappen-Explorer auf eine geöffnete Code Map, um das Element in die Darstellung aufzunehmen und/oder hervorzuheben.

  • Klicken Sie mit der rechten Maustaste in einen leeren Bereich des Editor-Fensters, und wählen Sie dann In Code Map anzeigen aus. Dadurch wird eine neue leere Code Map erstellt.

  • Klicken Sie mit der rechten Maustaste auf ein Objekt oder eine Klasse im Editorfenster, und wählen Sie dann In Code Map anzeigen aus. Dadurch wird eine Code Map für das ausgewählte Element erstellt. Mithilfe dieses Menüs können Sie darüber hinaus alle Verweise in einer Code Map finden oder zugehörige Elemente anzeigen.

  • Klicken Sie auf die Schaltfläche Code Map im Menü Debug, wenn die Anwendung angehalten ist.

  • In einer geöffneten IntelliTrace-Datei oder als Abhängigkeitsdiagramm im Menü Architektur.

In Visual Studio Premium 2013 oder Visual Studio Professional 2013 können Sie Code Maps anzeigen, in begrenztem Umfang bearbeiten und in ihnen navigieren.

Vergewissern Sie sich, dass alle Elemente für die Zuordnungen, beispielsweise ausgeblendete Elemente, erweiterte Gruppen und gruppenübergreifende Links, sichtbar sind, bevor Sie Zuordnungen für Benutzer von Visual Studio Premium oder Visual Studio Professional freigeben.

Schauen Sie sich die Verwendung von Codezuordnungen an: Verstehen von komplexem Code mit Code Map (Channel 9)

Das Problem verstehen

Nehmen Sie an, in einem Zeichenprogramm, an dem Sie arbeiten, liegt ein Fehler vor. Öffnen Sie die Projektmappe in Visual Studio Ultimate und drücken Sie F5, um das Debuggen zu starten und den Fehler zu reproduzieren.

Wenn Sie eine Linie zeichnen und Letzten Strich rückgängig machen auswählen, geschieht nichts, bis Sie die nächste Linie zeichnen.

Codezuordnung - Fehler reproduzieren

Daher beginnen Sie mit der Untersuchung, indem Sie nach der Undo-Methode suchen. Sie finden diese in der PaintCanvas-Klasse.

Codezuordnung - Code suchen

Die Codezuordnung starten

Nun beginnen Sie mit der Zuordnung der undo-Methode und ihrer Beziehungen. Fügen Sie im Code-Editor die undo-Methode und die Felder, auf die sie verweist, zu einer neuen Codezuordnung hinzu. Wenn Sie eine neue Zuordnung erstellen, kann es einige Zeit dauern, den Code zu indizieren. Aufgrund der Indizierung können spätere Vorgänge schneller ausgeführt werden.

Codezuordnung - Methode und verwandte Felder anzeigen

Tipp

Die letzten zur Zuordnung hinzugefügten Elemente werden grün hervorgehoben.Anhand eines grünen Pfeils wird die Position des Cursors im Code angezeigt.Pfeile zwischen Elementen stellen verschiedene Beziehungen dar.Weitere Informationen zu Elementen in der Zuordnung erhalten Sie über deren QuickInfos.

Codezuordnung - QuickInfo anzeigen

Code aus der Zuordnung navigieren und untersuchen

Doppelklicken Sie auf ein Feld in der Zuordnung, oder wählen Sie ein Feld aus, und drücken Sie F12, um die Codedefinition für einzelne Felder anzuzeigen. Der grüne Pfeil wird zwischen den Elementen in der Zuordnung verschoben. Der Cursor im Code-Editor wird automatisch ebenfalls bewegt.

Codezuordnung - Felddefinition untersuchen

Codezuordnung - Felddefinition untersuchen

Tipp

Sie können den grünen Pfeil in der Zuordnung auch verschieben, indem Sie den Cursor im Code-Editor bewegen.

Beziehungen zwischen Teilen des Codes verstehen

Nun möchten Sie wissen, in welchem anderen Code die Felder history und paintObjects verwendet werden. Sie können der Zuordnung alle Methoden hinzufügen, die auf diese Felder verweisen. Dies kann von der Zuordnung oder vom Code aus erfolgen.

Codezuordnung - Alle Verweise suchen

Ändern Sie das Layout, um den Ablauf der Beziehungen neu anzuordnen und die Zuordnung besser lesbar zu machen. Sie können Elemente in der Zuordnung auch verschieben, indem Sie sie an andere Positionen ziehen.

Codezuordnung - Layout ändern

Tipp

Standardmäßig ist die Einstellung Inkrementelles Layout aktiviert.Dadurch wird die Zuordnung so wenig wie möglich neu angeordnet, wenn Sie neue Elemente hinzufügen.Deaktivieren Sie die Einstellung Inkrementelles Layout, um die gesamte Zuordnung jedes Mal neu anzuordnen, wenn Sie neue Elemente hinzufügen.

Codezuordnung - Layout ändern

Überprüfen Sie diese Methoden. Doppelklicken Sie in der Zuordnung auf die PaintCanvas-Methode, oder wählen Sie diese Methode aus, und drücken Sie F12. Sie erfahren, dass history und paintObjects von dieser Methode als leere Listen erstellt werden.

Codezuordnung - Methodendefinition untersuchen

Wiederholen Sie nun die gleichen Schritte, um die Definition der clear-Methode zu überprüfen. Sie erfahren, dass in clear einige Aufgaben mit paintObjects und history ausgeführt werden. Anschließend wird die Repaint-Methode aufgerufen.

Codezuordnung - Methodendefinition untersuchen

Überprüfen Sie nun die Definition der addPaintObject-Methode. Darin werden ebenfalls einige Aufgaben mit history und paintObjects ausgeführt. Auch darin wird Repaint aufgerufen.

Codezuordnung - Methodendefinition untersuchen

Das Problem durch Prüfen der Zuordnung suchen

Anscheinend wird von allen Methoden, die history und paintObjects ändern, Repaint aufgerufen. Von der undo-Methode wird Repaint jedoch nicht aufgerufen, obwohl von undo die gleichen Felder geändert werden. Daher denken Sie, dass Sie dieses Problem beheben können, indem Sie Repaint von undo aus aufrufen.

Codezuordnung - Fehlenden Methodenaufruf suchen

Wenn Sie keine Zuordnung zur Verfügung gehabt hätten, in der dieser fehlende Aufruf angezeigt wird, wäre es möglicherweise schwieriger gewesen, dieses Problem zu finden, insbesondere bei komplexerem Code.

Ergebnisse freigeben und nächste Schritte

Bevor Sie oder jemand anderes diesen Fehler behebt, können Sie in der Zuordnung Notizen zu dem Problem und dessen Behebung erstellen.

Codezuordnung - Elemente zur Nachverfolgung kommentieren und kennzeichnen

Sie können der Zuordnung beispielsweise Kommentare hinzufügen und Elemente mit Farben kennzeichnen.

Codezuordnung - Kommentierte und gekennzeichnete Elemente

Wenn Microsoft Outlook installiert ist, können Sie die Zuordnung per E-Mail an andere senden. Sie können die Zuordnung auch als Bild oder in einem anderen Format exportieren.

Codezuordnung - Freigabe, Export, E-Mail-Sendung

Das Problem beheben und zeigen, was Sie getan haben

Fügen Sie den Aufruf von Repaint zu undo hinzu, um diesen Fehler zu beheben.

Codezuordnung - Fehlenden Methodenaufruf hinzufügen

Starten Sie die Debugsitzung neu, und versuchen Sie, den Fehler zu reproduzieren, um sicherzustellen, dass der Fehler behoben ist. Wenn Sie nun Letzten Strich rückgängig machen auswählen, wird diese Funktion wie erwartet ausgeführt und damit bestätigt, dass Sie die richtige Korrektur vorgenommen haben.

Codezuordnung - Codekorrektur bestätigen

Sie können die Zuordnung aktualisieren, damit die Ihre Korrektur angezeigt wird.

Codezuordnung - Zuordnung mit fehlendem Methodenaufruf aktualisieren

In der Zuordnung wird nun ein Link zwischen undo und Repaint angezeigt.

Codezuordnung - Durch Methodenaufruf aktualisierte Zuordnung

Hinweis

Wenn Sie die Zuordnung aktualisieren, wird möglicherweise eine Meldung angezeigt, die besagt, dass der zum Erstellen der Zuordnung verwendete Codeindex aktualisiert wurde.Dies bedeutet, dass jemand den Code geändert hat, was dazu führt, dass die Zuordnung nicht mit dem aktuellen Code übereinstimmt.Das hindert Sie nicht daran, die Zuordnung zu aktualisieren. Sie müssen jedoch möglicherweise die Zuordnung neu erstellen, um sicherzustellen, dass sie dem Code entspricht.

Die Überprüfung ist nun abgeschlossen. Sie haben das Problem gefunden und erfolgreich korrigiert, indem Sie den Code zugeordnet haben. Außerdem verfügen Sie über eine Zuordnung, anhand der Sie im Code navigieren, sich an das Gelernte erinnern und die Schritte zur Behebung des Problems anzeigen können.

Siehe auch

Konzepte

Zuordnen von Methoden in der Aufrufliste beim Debuggen in Visual Studio

Visualisieren von Code