(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original

Gewusst wie: Generieren von Abhängigkeitsdiagrammen für C- und C++-Code

[Dieses Dokument dient lediglich Vorschauzwecken und kann in späteren Versionen geändert werden. Leere Themen sind als Platzhalter enthalten.]

Dieses Visual Studio 2010-Funktions pack können Sie die Organisation und den Beziehungen in C- oder C++-Code visuell darstellen, indem Sie Abhängigkeitsdiagramme in Visual Studio 2010 Ultimate generiert. Anhand dieser Diagramme können Sie Abhängigkeiten im Quellcode, zwischen Binärdateien sowie zwischen Quelldateien und Headerdateien untersuchen, interpretieren und verwalten. Sie können z. B. Abhängigkeiten zwischen Binärdateien, Namespaces und Klassen visuell darstellen. Ein Diagramm stellt Codeelemente und deren Beziehungen als Satz von Knoten dar, die durch Links bzw. Ränder verbunden sind. Weitere Informationen finden Sie unter Visual Studio Feature Packs.

Wichtiger Hinweis Wichtig

Damit diese Aufgabe mit Visual C- oder Visual C++-Projekten ausgeführt werden kann, muss Visual C# mit Visual Studio installiert sein.

Beachten Sie die folgenden Aspekte, wenn Sie Diagramme für C und C++-Code generieren:

  • Wenn Sie eine Projektmappe öffnen, die C- und C++-Projekte enthält, könnte die Aktualisierung der IntelliSense-Suchdatenbank etwas Zeit beanspruchen. Während dieser Zeit sind die Befehle zum Generieren von Abhängigkeitsdiagrammen für Quelldateien und Headerdateien nicht verfügbar.

    Note Note

    Bevor Sie ein Abhängigkeitsdiagramm für diese Dateien generieren, warten Sie, bis die IntelliSense-Datenbank die Aktualisierungen beendet hat. Sie können den Status dieser Aktualisierungen in der Visual Studio-Statusleiste überwachen. Weitere Informationen zu Meldungen, die angezeigt werden, weil bestimmte IntelliSense-Einstellungen deaktiviert sind, finden Sie unter Problembehandlung.

  • Der Begriff "Assembly" wird verwendet, um in der Benutzeroberfläche auf "Binärdateien" zu verweisen. Um beispielsweise Abhängigkeiten zwischen allen Binärdateien in der Projektmappe zu sehen, zeigen Sie im Menü Architektur auf Abhängigkeitsdiagramm generieren, und klicken Sie dann auf Nach Assembly.

    Note Note

    In den Diagrammen werden Abhängigkeiten für Binärdateien nur auf Binärdateiebene dargestellt. Abhängigkeiten innerhalb derselben Binärdatei, z. B. Methodenaufrufe und Verweistypen, werden nicht angezeigt.

  • Der Standardname des generierten Diagrammdokuments für C und C++-Code ist "AssemblyDependenciesN.dgml", wobei N die Versionsnummer des Dokuments ist. Sie können dieses Dokument jedoch jederzeit umbenennen.

  • Sie können ein Abhängigkeitsdiagramm für die ganze Visual Studio-Projektmappe oder für bestimmte Elemente generieren.

    Note Note

    Bei einer sehr großen Projektmappe kann die Analyse aller Dateien zum Generieren eines Abhängigkeitsdiagramms etwas Zeit beanspruchen. Es könnte auch eine Ausnahme wegen nicht ausreichendem Arbeitsspeicher ausgelöst werden. Reduzieren Sie in diesem Fall den Bereich der Projektmappe, oder verwenden Sie den Architektur-Explorer, um bestimmte Elemente und Beziehungen auszuwählen, bevor Sie das Diagramm generieren.

  • Gehen Sie zum Generieren eines Abhängigkeitsdiagramms für C- und C++-Code genauso vor wie für .NET-Code. Weitere Informationen finden Sie unter Gewusst wie: Visuell stellen Sie Code dar, indem Sie Abhängigkeits-Diagramme generieren.

Informationen zu Problemen, die beim Generieren von Abhängigkeitsdiagrammen für C oder C++-Code auftreten können, finden Sie unter Problembehandlung.

Sie können Abhängigkeiten zwischen C und C++-Quelldateien und Headerdateien visuell darstellen. Sie können den folgenden Bereich von Abhängigkeiten zur Visualisierung auswählen:

Abhängigkeitsdiagramm für systemeigenen Code

Abhängigkeitsdiagramm für eingeschlossene Dateien in einem C++-Projekt

  • Alle Quelldateien und Headerdateien in der Projektmappe

  • Die gerade geöffnete Datei sowie alle Quelldateien der obersten Ebene und Headerdateien

Darzustellende Abhängigkeiten

Schritte

Alle Quelldateien und Headerdateien in der Projektmappe

Zeigen Sie im Menü Architektur auf Abhängigkeitsdiagramm generieren, und klicken Sie dann auf By Included File (Nach eingeschlossener Datei).

Note Note
Wenn Sie diesen Befehl zum ersten Mal ausführen, muss Visual Studio die Projektdateien C oder C++ analysieren. Dieser Vorgang kann einige Zeit in Anspruch nehmen. Klicken Sie im angezeigten Meldungsfeld auf Abbrechen, um die Diagrammgenerierung abzubrechen.

Die gerade geöffnete Datei sowie alle Quelldateien der obersten Ebene und Headerdateien

Tip Tip
Verwenden Sie zum Anzeigen von Abhängigkeiten auf zusätzlichen Ebenen den Umgebungsübersichtsmodus auf der Diagrammsymbolleiste, und wählen Sie hier die Ebene der Abhängigkeiten aus, die Sie sehen möchten. Weitere Informationen finden Sie unter How to: Browse and Navigate Graph Documents.
  1. Öffnen Sie eine Quelldatei oder eine Headerdatei.

    Die Datei wird im Code-Editor-Fenster geöffnet.

  2. Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle in der Datei, und klicken Sie dann auf Generate Graph for Included Files (Diagramm für eingeschlossene Dateien generieren).

Abhängigkeitsdiagramm der ersten Ebene für H-Datei

Abhängigkeitsdiagramm für eine Headerdatei mit Quelldateien der obersten Ebene und Headerdateien

Die folgenden Probleme könnten auftreten, wenn Sie Abhängigkeitsdiagramme für C oder C++-Code generieren:

Problem

Mögliche Ursache

Lösung

Visual Studio reagiert nicht mehr, wenn Sie versuchen, im Menü Architektur ein Abhängigkeitsdiagramm zu generieren.

Die Programmdatenbankdatei (.pdb) ist möglicherweise beschädigt.

In einer PDB-Datei werden Debuginformationen gespeichert, z. B. Typ, Methode und Quelldateiinformationen.

Weitere Informationen finden Sie unter Programmdatenbankdateien (C++).

Erstellen Sie die Projektmappe neu, und versuchen Sie es dann erneut.

Bestimmte Einstellungen für die IntelliSense-Suchdatenbank sind deaktiviert.

Bestimmte IntelliSense-Einstellungen sind im Dialogfeld Optionen von Visual Studio möglicherweise deaktiviert.

Aktivieren Sie die Einstellungen, um sie verfügbar zu machen.

Weitere Informationen finden Sie unter Optionen für C/C++, Text Editor, Options Dialog wechselten.

Die Meldung Unbekannte Methode wird in einem Methodenknoten angezeigt.

Dieses Problem tritt auf, da der Name der Methode nicht aufgelöst werden kann.

Die Binärdatei weist möglicherweise keine Basisverschiebungstabelle auf.

Aktivieren Sie die Option /FIXED:NO im Linker.

Weitere Informationen finden Sie unter /FIXED (Feste Basisadresse).

Nur Binärdateien werden unterstützt, die auf x86-Architekturen ausgeführt werden.

Die Programmdatenbankdatei (.pdb) wird möglicherweise nicht erstellt.

In einer PDB-Datei werden Debuginformationen gespeichert, z. B. Typ, Methode und Quelldateiinformationen.

Weitere Informationen finden Sie unter Programmdatenbankdateien (C++).

Aktivieren Sie die Option /DEBUG im Linker.

Weitere Informationen finden Sie unter /DEBUG (Debuginfo generieren).

Die PDB-Datei kann an den erwarteten Speicherorten nicht geöffnet oder gefunden werden.

Stellen Sie sicher, dass die PDB-Datei an den erwarteten Speicherorten vorhanden ist.

Debuginformationen wurden aus der PDB-Datei entfernt.

Wenn die Option /PDBSTRIPED im Linker verwendet wurde, schließen Sie stattdessen die vollständige PDB-Datei ein.

Weitere Informationen finden Sie unter /PDBSTRIPPED (Private Symbole entfernen).

Der Aufrufer ist keine Funktion und ist entweder ein Thunk in der Binärdatei oder ein Zeiger im Datenabschnitt.

Wenn der Aufrufer ein Thunk ist, versuchen Sie, den Thunk mithilfe von _declspec(dllimport) zu vermeiden.

Weitere Informationen finden Sie unter:

Anzeigen:
© 2014 Microsoft