Wizualizacja zależności kodu na wykresach zależności

Aby i zrozumienie kodu i jego zależności organizacji, można utworzyć zależności wykresy w Visual Studio Ultimate.Jakie są zależności wykresy i jak są one przydatne?

Wspieranych projektów:

  • Visual C# .net i Visual Basic .net projekty, w tym aplikacje Windows magazynu i zestawu plików (.dll i .exe).

  • Wizualne projekty C++, w tym aplikacje magazynu systemu Windows, których kod c lub C++ (zarządzane lub macierzystym), pliki nagłówków (.h lub #include) i pliki binarne.

Wideo:

W tym temacie

  • Jak zacząć?

  • Zależności w kodzie wizualizacji

  • Udostępnianie wykresów zależność

  • Generować wykresy dla przetwarzania wsadowego

  • Rozwiązywanie problemów

Jak zacząć?

  • Omówienie rozwiązania: na architektury menu wybierz Wygenerować wykres zależności, Rozwiązanie dla.

    Wykres pokazujący zestawów najwyższego poziomu można uzyskać.Zespoły te można teraz eksplorować rozwijając je.Przesuń wskaźnik myszy na zestawie, a następnie wybierz podwójną strzałkę (^) przycisku, gdy się pojawi.Zrobić to samo dla obszarów nazw, typów i członków, aby kontynuować przeglądanie kodu.

    Wykres zależności najwyższego poziomu zestawów

    Aby wyświetlić zależności w grupach, wybierz element na wykresie.

    Wykres z wybranych elementów i rozwiniętymi grupami

    Aby uzyskać więcej informacji, zobacz Omówienie rozwiązania.Można także uruchomić programy do analizowania znaleźć potencjalnych problemów w kodzie.Zobacz Wyszukiwanie potencjalnych problemów w kodzie na wykresach zależności.

  • Wizualizacja szczególnych zależności w rozwiązanie: W Solution Explorer, zaznacz elementy, które Cię interesują.Można wybrać projektów, odwołania do zestawów, foldery, pliki, typów i ich członków.Aby znaleźć określony element, użyj Solution Explorer pole wyszukiwania.

    Na Solution Explorer narzędzi wybierz Utwórz nowy dokument wykresUtwórz nowy wykres z przycisku wybranych węzłów.

    - lub -

    Przeciągnij elementy z Solution Explorer do istniejącego wykresu.

    PoradaPorada

    Utworzyć pusty wykres, na pliku menu wybierz Nowy, pliku, Dokument wykresu kierowany.Aby dołączyć hierarchii nadrzędnej dla elementów, naciśnij i przytrzymaj klawisz CTRL klucza podczas przeciągania elementów.

    Otrzymasz wykres pokazuje wybrane elementy.Teraz można eksplorować tych elementów, rozwijając je.Przesuń wskaźnik myszy na element, a następnie wybierz podwójną strzałkę (^) przycisku, gdy się pojawi.

    Aby uzyskać więcej informacji, zobacz Wizualizacja szczególnych zależności w rozwiązanie.Można także uruchomić programy do analizowania znaleźć potencjalnych problemów w kodzie.Zobacz Wyszukiwanie potencjalnych problemów w kodzie na wykresach zależności.

Jakie są zależności wykresy i jak są one przydatne?

Zależność wykresach visual sposób sprawdzić kod i zrozumienie jego zależności bez konieczności wyszukiwania plików i linii kodu.Tylko węzłów i łącza lub strzałki widoczne elementy i relacje.Załóżmy na przykład, przegląd kodu do wykonania.Mieć zestaw plików zawierających oczekujące zmiany.Tworząc wykres zależności z tych plików można wizualizować kodu i zależności dla tych zmian.Zobacz Wizualizacja szczególnych zależności w rozwiązanie.

Domyślnie kontener relacje są reprezentowane jako grupy, które można rozwijać i zwijać.

Wykres zależności z węzłami zgrupowane

PoradaPorada

Refetch dzieci przycisku Ponownie pobrać ikony dzieci pozwala pobrać członków grupy, które istnieją w kodzie, ale nie są wyświetlane na wykresie.Możemy również zastosowany inny styl dla wywołania łącza, więc można je łatwiej Zobacz.Zobacz Edytowanie i dostosowywanie wykresów zależności.

Kontener relacje można również wyświetlać jako łącza.Otwórz menu skrótów dla wykresu, wybierz polecenie grupy, Włączyć grupowanie:

Wykres zależności z węzłów i łącza

Można także uruchomić programy do analizowania znaleźć potencjalnych problemów w kodzie.Zobacz Wyszukiwanie potencjalnych problemów w kodzie na wykresach zależności.

Podczas generowania wykres zależności po raz pierwszy Visual Studio indeksuje wszystkie zależności, które znajdzie.Ten proces może zająć trochę czasu, zwłaszcza w przypadku dużych rozwiązań lub wykresy z wieloma łączami.Jednakże indeks zwiększa wydajność operacji później.Zmiana kodu Visual Studio reindexes zaktualizowany kod.

Jeśli nie chcesz czekać na zakończenie generowania wykresu, można anulować w dowolnym czasie i wypróbuj następujące rozwiązania:

  • Wyświetl wykres zależności, które Cię interesują.

  • Przed wygenerowaniem wykresu dla całego rozwiązania ograniczenia zakresu roztworu.

Chociaż Visual Studio można uruchomić z 1 GB pamięci, zaleca się że komputer ma co najmniej 2 GB pamięci w celu uniknięcia opóźnienia podczas Visual Studio tworzy indeks kodu i generuje wykres.

[!UWAGA]

Visual Studio generuje wykres, jeśli co najmniej jeden projekt tworzy się pomyślnie.Pokazuje tylko zależności dla kodu, który tworzy się pomyślnie.Jeśli wystąpią błędy kompilacji dla niektórych składników, błędy dla tych składników są wyświetlane na wykresie.Upewnij się, że składnik faktycznie tworzy i ma zależności na nim przed architektury decyzje oparte na wykresie.

Może zająć więcej czasu na tworzenie wykresów lub dodać elementy do wykresu z Solution Explorer, gdy element projektu kopię danych wyjściowych katalogu właściwość jest ustawiona na Zawsze Kopiuj.Może to spowodować problemy z pierwotnych kompilacje i Visual Studio, aby ponownie skompilować projekt.Aby zwiększyć wydajność, zmiana tej właściwości, aby Kopiuj jeśli nowszy lub PreserveNewest.Zobacz Buduje przyrostowe.

Zależności w kodzie wizualizacji

  • Przegląd kodu

  • Wizualizacja szczególnych zależności w kodzie

  • Wizualizacja zależności między pliki źródłowe c lub C++ i plikami nagłówka

  • Generować wykresy dla partii przetwarzania za pomocą GraphCmd.exe

PoradaPorada

Generuje bardziej kompletne wykresy dla C++ projektów, opcja Przeglądaj informacji kompilatora (/FR) musi być ustawiona w tych projektach.W przeciwnym wypadku wiadomość pojawia się i monituje o tej opcji.Jeśli pojawi się komunikat, można ustawić opcję bieżącego wykresu, wybierając OK, lub można ustawić opcję i ukryć wiadomości dla wszystkich wykresów później.Aby wiadomości są wyświetlane dla wykresów później ustawić następujący klucz rejestru 0 lub usunąć klucz:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\NativeProvider : AutoEnableSbr

Zobacz / FR, /Fr (Tworzenie.Plik SBR).

Przegląd kodu

Można utworzyć wykres zależności dla całego rozwiązania lub dla zespołów lub pliki binarne.

Dd409453.collapse_all(pl-pl,VS.110).gifOmówienie rozwiązania

  1. Na architektury menu wybierz Wygenerować wykres zależności, Rozwiązanie dla.

    Otrzymasz wykres pokazujący zespoły najwyższego poziomu i zagregowane łącza między nimi.Grubość łącze zagregowane wskazuje liczbę poszczególnych zależności reprezentuje łącze.Obiektów zewnętrznych grupa zawiera niczego poza rozwiązanie, w tym platformy zależności.Zestawy zewnętrzne Pokaż tylko elementy, które są używane.

    Wykres zależności najwyższego poziomu zestawów

  2. Zespoły te można teraz eksplorować rozwijając je.Przesuń wskaźnik myszy na zestawie, a następnie wybierz podwójną strzałkę (^) przycisku, gdy się pojawi.(Klawiatury: Wybierz element, a następnie wybierz PLUS klucza (+).) Zrobić to samo dla obszarów nazw, klas i członków, aby kontynuować przeglądanie kodu.

  3. Aby uzyskać więcej informacji o elemencie lub łącze, przenieś wskaźnik na element, aż pojawi się etykietka narzędzia.

  4. Badanie towarów i zależności reprezentowane przez łącze zagregowane, najpierw zaznacz łącze, a następnie otwórz menu skrótów.Wybierz Pokaż, łączy przyczynianie się w bieżącym diagramie lub łączy przyczynianie się w nowy diagram.

    Visual Studio rozwija grup na obu końcach łącze i pokazuje tylko te elementy i zależności, które uczestniczą w łączu.Aby wyświetlić elementy, które istnieją w kodzie, ale brakuje z grupy, wybierz Dzieci RefetchPonownie pobrać ikony dzieci.

Zobacz:

Dd409453.collapse_all(pl-pl,VS.110).gifPrzegląd zespołów lub pliki binarne

  • Utwórz pusty wykres, lub otworzyć istniejącego wykresu (plik .dgml).Poza Visual Studio, przeciągnij z zespołów lub pliki binarne do wykresu.

    [!UWAGA]

    Zespoły lub pliki binarne z Eksploratora Windows można przeciągnąć tylko, jeśli są uruchomione na tym samym poziomie uprawnienia kontroli dostępu użytkownika (UAC) Eksploratora Windows i programu Visual Studio.Na przykład jeśli jest włączona funkcja Kontrola konta użytkownika i Visual Studio są uruchomione jako Administrator, Eksplorator Windows zablokuje operacji przeciągania.Aby obejść ten problem, upewnij się, że Visual Studio działa jako Administrator lub wyłączyć funkcję Kontrola konta użytkownika.Należy zauważyć, że w Windows 8 Eksploratora Windows Explorer pliku.

    -lub-

    1. Na architektury menu wybierz Windows, Explorer architektura.

    2. W pierwszej kolumnie pod Systemu plików, wybierz polecenie Wybierz pliki.

    3. W Otwórz polu, Znajdź i zaznacz zespoły lub pliki binarne.Wybierz Otwórz dodać je do następnej kolumny w Explorer architektura.

    4. W Explorer architektura, wybierz zespoły lub pliki binarne.

    5. Po prawej stronie kolumny zawierającej wybranych zespołów lub pliki binarne wybierz kolumnę zwinięty akcji, aby go rozwinąć.

      PoradaPorada

      Kolumny zwinięty Akcja pojawia się wyróżniony po przesunięciu wskaźnika na nim.

    6. W kolumnie Akcja pod polecenia, wybierz Otwórz , aby wygenerować wykres zależności.

      Zobacz Wyszukiwanie kodu za pomocą narzędzia Architecture Explorer.

Dd409453.collapse_all(pl-pl,VS.110).gifAby utworzyć pusty wykres

  1. Aby otworzyć nowy pusty wykres bez dodawania go do rozwiązania, na pliku menu wybierz Nowy, pliku.

    -lub-

    Aby dodać pusty wykres, aby Elementów rozwiązania folder rozwiązania, otwórz menu skrótów dla węzła najwyższego poziomu roztworu.Wybierz dodać, nowego elementu.

  2. W obszarze zainstalowane, wybierz polecenie Ogólne.

  3. W prawym okienku wybierz Dokument wykresu kierowany.

    Pusty wykres można również dodać do projektu modelowania z architektury menu wybierając Nowy Diagram.

Wizualizacja zależności określonego kodu

Można utworzyć wykres zależności dla określonych elementów rozwiązania lub zespołów i pliki binarne.

Wizualizacja szczególnych zależności w rozwiązania

Jak wizualizować konkretnego kodu

Jak wizualizować określony kod i rodziców

Dd409453.collapse_all(pl-pl,VS.110).gif

  1. W Solution Explorer, zaznacz elementy, które Cię interesują.Można wybrać projektów, odwołania do zestawów, foldery, pliki, typów i ich członków.Aby znaleźć określony element, użyj Solution Explorer pole wyszukiwania.

    PoradaPorada

    Aby znaleźć elementy z zależnościami w typach lub członków, otwórz menu skrótów dla typu lub członka w Solution Explorer.Wybierz typ współzależności.Solution Explorer zawiera elementy, które mają określony zależność.Wybierz wyniki.

  2. Do wykresu elementów i ich członków na Solution Explorer narzędzi wybierz Utwórz nowy dokument wykresUtwórz nowy wykres z przycisku wybranych węzłów.

    -lub-

    Aby dołączyć hierarchii nadrzędnej na wykresie, należy otworzyć Utwórz nowy dokument wykresu... listę na Solution Explorer narzędzi wybierz Nowy wykres zależności z przodków.

    PoradaPorada

    Można również przeciągać elementy do wykresu.Po pierwsze, utworzyć pusty wykres lub otworzyć istniejącego wykresu (plik .dgml).Aby dołączyć hierarchię kontenera nadrzędnego, naciśnij i przytrzymaj klawisz CTRL klucza podczas przeciągania elementów.

    Otrzymasz wykres pokazuje wybrane elementy.

  3. Zbadanie elementów, można je rozwinąć.Przesuń wskaźnik myszy na element, a następnie wybierz podwójną strzałkę (^) przycisku, gdy się pojawi.Aby rozwinąć wszystkie elementy, otwórz menu skrótów dla wykresu.Wybierz grupy, Rozwiń wszystkie.

    [!UWAGA]

    To polecenie jest niedostępne, jeśli rozszerzenie wszystkie grupy generuje bezużyteczny wykresu lub problemów z pamięcią.

  4. Pobrać brakujące z grupy elementów, wybierz opcję Dzieci RefetchPonownie pobrać ikony dzieci wewnątrz grupy.

  5. Aby zobaczyć więcej elementów związanych z tymi na wykresie, należy otworzyć menu skrótów dla elementu.Wybierz Pokaż i relacja elementów, które Cię interesują.

    Dla zestawu wybierz:

    Odwołania zestawów

    Dodaj zestawy, które odwołuje się do tego zestawu.Zestawy zewnętrzne są wyświetlane w obiektów zewnętrznych grupy.

    Odwoływanie się do zespołów

    Dodawanie zestawów w roztworze odwołujące się do tego zestawu.

    Dla klasy należy wybrać:

    Typów podstawowych

    Dla klasy należy dodać klasa podstawowa i implementowane interfejsy.

    Interfejs można dodać w interfejsach podstawowych.

    Typy pochodne

    Dla klasy należy dodać klas pochodnych.

    Dla interfejsu Dodaj interfejsy pochodnych i wykonawczych klas lub strukturach.

    Wszystkich typów podstawowych

    Dodawanie klasy podstawowej lub interfejsu rekursywnie hierarchii.

    Typy pochodne wszystkie

    Dla klasy należy dodać rekursywnie klas pochodnych.

    Dla interfejsu Dodaj interfejsy pochodnych i wykonawczych rekursywnie klas lub strukturach.

    Hierarchia zamknięcia

    Dodawanie hierarchii kontenera nadrzędnego.

    Typy używanych

    Dodaj wszystkie klasy i ich członków, których używa tej klasy.

    Typy używane przez

    Dodaj wszystkie klasy i ich członków, które używają tej klasy.

    Metoda wybierz:

    Hierarchia zamknięcia

    Dodawanie hierarchii kontenera nadrzędnego.

    Metody o nazwie

    Dodawanie metod, które wymaga tej metody.

    Wywołana przez metody

    Dodawanie metod, które wywołanie tej metody.

    Metod przesłoniętych w typach podstawowych

    Metodę, która zastępuje inne metody lub implementuje metody interfejsu, należy dodać wszystkie abstrakcyjna lub wirtualna metody klas podstawowych, które są zastępowane, a jeśli, metoda interfejsu jest zaimplementowana.

    Pól

    Dodaj pola, które odwołuje się do tej metody.

    Pole wybierz:

    Hierarchia zamknięcia

    Dodawanie hierarchii kontenera nadrzędnego.

    Odwoływanie się do metod

    Dodawanie metod, które odwołują się do tego pola.

Zobacz:

Dd409453.collapse_all(pl-pl,VS.110).gifWizualizacja zależności określonych zestawów lub pliki binarne

  1. Na architektury menu wybierz Windows, Explorer architektura.

  2. W pierwszej kolumnie pod Systemu plików, wybierz polecenie Wybierz pliki.

  3. W Otwórz polu, Znajdź i zaznacz zespoły lub pliki binarne.Wybierz Otwórz dodać je do następnej kolumny w Explorer architektura.

  4. W następnej kolumnie Wybierz zespołów lub pliki binarne.

    Domyślnie następnej kolumny wyświetlane elementy zawarte przez zaznaczone elementy.

    PoradaPorada

    Zaznacz inne elementy pokrewne, rozwinąć zwinięty kolumny po prawej stronie kolumny z wybranych opcji.W obszarze Węzeł nawigacji, zaznacz typy elementów, które Cię interesują.W obszarze Nawigacji wychodzących lub Nawigacji przychodzącego, zaznacz typy relacji, które Cię interesują.Zobacz Wyszukiwanie kodu za pomocą narzędzia Architecture Explorer.

  5. Znajdź i zaznacz elementy, które chcesz umieścić na wykresie.

  6. Aby utworzyć nowy wykres, na Explorer architektura narzędzi wybierz Tworzenie nowego dokumentu wykres z wybranych węzłówUtwórz nowy wykres z przycisku wybranych węzłów.

    Visual Studio tworzy wykresu i otwiera go.

    -lub-

    Aby dodać zaznaczenie do wykresu, wykonaj następujące kroki:

    1. Otwórz plik .dgml wykresu lub utworzyć pusty wykres.

    2. Na Explorer architektura narzędzie paska, wybierz polecenie Dodaj zaznaczone węzły w dokumencie widoczne wykresDodawanie wszystkich zaznaczonych węzłów na wykresie przycisku.

      -lub-

      Przeciągnij elementy z Explorer architektura do wykresu.

Wizualizacja zależności między pliki źródłowe c i C++ i plikami nagłówka

Aby wyświetlić zależności między

W tym

Wszystkie pliki źródłowe i pliki nagłówków w roztworze

Na architektury menu wybierz Wygenerować wykres zależności, Dla pliku obejmują.

Wykres zależności dla kodu macierzystego

Aktualnie otwarty plik i pliki powiązane źródła i pliki nagłówka

  1. Otwórz plik źródłowy lub nagłówka pliku.

  2. Otwórz menu skrótów w dowolne miejsce wewnątrz pliku.Wybierz wygenerować wykres Dołącz pliki.

Wykres zależności pierwszego poziomu pliku .h

[!UWAGA]

Po otwarciu rozwiązanie, które zawiera projekty Visual C++ może zająć trochę czasu aktualizacji bazy danych IntelliSense.W tym czasie nie można utworzyć wykresy zależność dla nagłówka (.h lub #include) pliki, dopóki nie zakończy się aktualizowania bazy danych IntelliSense.Można monitorować postęp aktualizacji na pasku stanu programu Visual Studio.Aby rozwiązać problemy lub komunikaty wyświetlane, ponieważ niektóre ustawienia IntelliSense są wyłączone, zobacz Rozwiązywanie problemów z.

Udostępnianie wykresów zależność

Zapisz i udostępnić wykres innym użytkownikom programu Visual Studio

  • Użyj pliku menu, aby zapisać wykres.

    -lub-

    Aby zapisać wykres jako część określonego projektu, otwórz menu skrótów dla powierzchni wykres.Wybierz przenieść <DependencyGraphName.dgml> do i projektu, w którym chcesz zapisać wykres.

    Visual Studio zapisuje wykres jako plik .dgml, który można udostępniać innym użytkownikom programu Visual Studio Ultimate, premii Visual Studio i Visual Studio Professional.

    [!UWAGA]

    Przed udostępnieniem wykresu z tymi, którzy premii Visual Studio i Visual Studio Professional, upewnij się, że Rozwiń wszystkie grupy, Pokaż ukryte węzły łącza różnych grup i pobrać usunięty węzłów, które mają innym użytkownikom na wykresie.W przeciwnym razie innych użytkownicy nie będą mogli zobaczyć te elementy.

    Następujący błąd może wystąpić podczas zapisywania projektu modelowania lub została skopiowana z projektu modelowania do innej lokalizacji wykresu:

    "Nie można zapisać nazwę pliku poza katalogu projektu.Połączone elementy nie są obsługiwane."

    Visual Studio zawiera błąd, ale mimo to tworzy zapisanej wersji.Aby uniknąć błędu, należy utworzyć wykres spoza projektu modelowania.Można następnie zapisać go do lokalizacji, w której chcesz.Nie będzie działać tylko skopiowanie pliku do innej lokalizacji w roztworze i próbuje zapisać go.

Eksportowanie wykresu jako obrazu, aby skopiować go do innych aplikacji, takich jak Microsoft Word lub PowerPoint

  1. Otwórz menu skrótów dla powierzchni wykres.Wybierz Edytuj, Skopiuj obraz.

  2. Wklej obraz do innej aplikacji.

Eksportowanie wykres jako plik XPS były widoczne w przeglądarki XAML lub XML, jak program Internet Explorer

  1. Otwórz menu skrótów z powierzchni wykres.Wybierz zapisany jako plik XPS.

  2. W Zapisać jako okno dialogowe, przeglądania, na którym chcesz zapisać plik.

  3. Nazwa wykresu.Upewnij się, że Zapisz jako typ pole ustawione jest na plików XPS (*.xps).Wybierz zapisać.

Generować wykresy dla przetwarzania wsadowego

Można wygenerować wykres dokumenty (pliki .dgml) w trybie wsadowym przy użyciu GraphCmd.exe narzędzie wiersza polecenia.Na przykład należy uruchamiać narzędzie po każdej kompilacji do znajdowania zależności, które uległy zmianie między kompilacje.Aby znaleźć to narzędzie, Szukaj w następującym folderze: C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE.

[!UWAGA]

GraphCmd.exe obsługuje tylko kod .net i generuje informacje o zależnościach tylko dla zespołów lub pliki .dgml nie źródła kodu w plikach rozwiązania lub projektu programu Visual Studio.GraphCmd.exe działa poza Visual Studio, wsparcie dla działań w DGQL kwerend jest ograniczona.

GraphCmd.exe należy użyć następującej składni:

GraphCmd -? -all -exceptions -input File_Name -query File_Name -exec "DGQL_Statement" -output File_Name -path alias=path

PoradaPorada

Następujące opcje można określić wiele razy: -input, -query, -exec, i -path.

W poniższej tabeli opisano opcje dla GraphCmd.exe:

-?

Wyświetlić Pomoc dla GraphCmd.exe.

-all

Obejmują wszystkie wyniki kwerendy pośrednich, nie tylko dla ostatniego zestaw węzłów.

-exceptions

Wyjątki kwerendy raport jako plik dokumentu (.dgml) wykresu.

-input Nazwa_pliku

Proces .dgml określonego pliku.

Jest to przydatne processingu pliku dużych .dgml i filtrowania, tak aby wizualizacja go łatwiej w Visual Studio.

-query Nazwa_pliku

Uruchomić określony plik (DGQL lub .dgql) skierowane języka kwerend wykresu.

Zobacz:

-exec "DGQL_Statement"

Uruchom DGQL instrukcję.

Zobacz Opis skierowane języka kwerend wykresu (DGQL).

-output Nazwa_pliku

.Dgml określonego pliku wyjściowego.

-path alias=path

Określ nowy alias w dane wejściowe i wyjściowe DGML dokumentów.

Na przykład:

GraphCmd -output MyGeneratedGraph.dgml -path "MyPathAlias=C:\Program Files\..."

Zobacz aliasy dla najczęściej używane ścieżki.

Dd409453.collapse_all(pl-pl,VS.110).gifAliasy dla najczęściej używane ścieżki

Aliasy dla najczęściej używane ścieżki zmniejszyć rozmiar pliku .dgml i czas wymagany do załadowania lub zapisania pliku.Aby utworzyć alias, dodać <Paths></Paths> sekcji na końcu pliku .dgml.W tej sekcji należy dodać <Path/> z elementu alias dla ścieżki:

<Paths>
   <Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>

Aby odwołać alias z elementu w pliku .dgml, należy ująć Id z <Path/> element o znak dolara ($) i nawiasów (()):

<Nodes>
   <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
   <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>

Aby edytować pliki .dgml, zobacz Edytowanie i dostosowywanie wykresów zależności.

Dd409453.collapse_all(pl-pl,VS.110).gifOpis skierowane języka kwerend wykresu (DGQL)

DGQL jest językiem kwerend lekkie, można użyć do tworzenia DGML.Instrukcja DGQL następuje przemienne strukturze zaznaczenie węzła i działania takie, że każde zaznaczenie węzła tworzy dane wejściowe dla następnej akcji, których produkcja staje się wejściowe dla następnego zaznaczenia węzła itd.

Format instrukcji DGQL jest:

<node selection> / <action> / <node selection> / <action> / ...

W poniższej tabeli opisano składnię DGQL służy do zaznaczania węzłów:

*

Zaznacz wszystkie węzły.

+ "text"

Zaznacz wszystkie węzły, które zawierają "tekstu".

+ Id.Equals("text")

Zaznacz wszystkie węzły którego Id jest równa "tekstu".

+ Background.Contains("text")

Zaznacz wszystkie węzły którego Background atrybut ma wartość, która zawiera ciąg "tekstu".

+ "text1" + "text2" + ...

Zaznacz wszystkie węzły, które odpowiadają "Tekst1"lub"tekst2".

+ MyProperty="True"

Zaznacz wszystkie węzły, które mają właściwość o nazwie MyProperty którego wartość "True".

- Label.Contains("text")

Zaznacz wszystkie węzły z wyjątkiem tych, które mają Label , atrybut Contains ciąg "tekstu".

+ Category.Is("MyCategory")

Zaznacz wszystkie węzły, które mają kategorię o nazwie MyCategory lub który dziedziczy z MyCategory.

W poniższej tabeli opisano przykłady działań bezpośrednich, które mogą być wykonywane na wybranych węzłów:

Przykład działania

Opis

Microsoft.Contains

Zwraca wszystkie węzły, zawarte przez węzły wejściowego.Można zastąpić Contains z łącza do różnych kategorii.

Microsoft.Open

Otwórz kod źródłowy dla węzłów wejściowych.

UwagaUwaga
Działa tylko w Visual Studio.

Microsoft.AllOutBoundLinks

Zwraca wszystkie węzły będące docelowym łącza wychodzące z węzłów wejściowych.

Microsoft.AllInboundLinks

Zwraca wszystkich węzłów, które są koniec źródła łącza do węzłów wejściowych.

Microsoft.Core.CreateGroupsByProperties

Wywołanie GroupByProperties akcji.

Microsoft.AllNodes

Pory zwracać wszystkie węzły w cały wykres.

Działań opartych na danych wybierz przedmioty tylko na podstawie danych wejściowych węzłów i łącza.Podczas dopasowywania kategorii działań opartych na danych, kategorie dziedziczone są uwzględniane.W poniższej tabeli opisano przykłady działań o zmiennych danych:

Typ

Opis

Node:Both:Category

Zwraca wszystkie węzły z kategorii Category i są połączone z węzłów wejściowych przez łącze punkty w dowolnym kierunku.

Link:Both:Category

Powrót do wszystkich węzłów połączonych węzłów wejściowych przez łącze punktów w kierunku i kategorii ma Category.

Link:Backward:Category

Zwraca wszystkie węzły, które wskazują wprowadzania węzły za pomocą łącza z kategorii Category.

Link:Forward:Category

Zwraca wszystkie węzły, które wskazują z węzłów wejściowych z łącze kategorii Category.

Dd409453.collapse_all(pl-pl,VS.110).gifPorady

  • Zazwyczaj jest akcja "domyślny" określony zestaw węzłów wejściowych jest automatycznie wybierany przez Explorer architektury.Aby uzyskać takie samo zachowanie, należy pusty działania://

  • Odstępy nie jest znaczący w DGQL, tak można sformatować kwerenda mieści się w jednym wierszu, jeśli to konieczne.Jest to przydatne podczas korzystania z –exec opcji z GraphCmd.

  • Podczas debugowania DGQL, należy użyć akcji "Execute Expanded" w Eksploratorze architektury każdego kroku kwerendy i Znajdź krok, który nie wytwarza oczekiwanych wyników.

Dd409453.collapse_all(pl-pl,VS.110).gifPrzykład

Poniższa instrukcja DGQL wykonuje kwerendę opisane w poniższych krokach:

+ Id.Equals("Microsoft.Solution.ClassView") / "Microsoft.Solution.ClassView" / * / "Node:Both:CodeSchema_Class" / + CodeSchemaProperty_IsPublic.Equals("True")
  1. Wybierz Widoku klasy węzeł w pierwszej kolumnie Explorer architektura.

  2. Wykonanie akcji "Microsoft.Solution.ClassView", zwracanie wszystkich obszarów nazw w roztworze. 

  3. Użyj * Aby wybrać wszystkie obszary nazw.

  4. Zaznacz wszystkie węzły z kategorii CodeSchema_Class i są związane z tych obszarów nazw przez łącze w dowolnym kierunku.Będą zazwyczaj łączy zamknięcia.

  5. Filtrować tylko te, które posiadają właściwości klasy wynikowy CodeSchemaProperty_IsPublic="True".

Technicznie, Akcja "Microsoft.Solution.ClassView" jest zbędne, ponieważ jest akcji "domyślnej" Widoku klasy węzła.Dlatego można zastąpić tego działania z // do uproszczenia kwerendy i następujący format w pojedynczym wierszu:

+Id.Equals("Microsoft.Solution.ClassView")//*/"Node:Both:CodeSchema_Class"/+CodeSchemaProperty_IsPublic.Equals("True")

Rozwiązywanie problemów

Następujące elementy nie są obsługiwane dla kodu c i C++:

  • Typów podstawowych nie są wyświetlane na wykresach zawierających hierarchii nadrzędnej.

  • Większość Pokaż elementy menu nie są dostępne dla kodu c i C++.

Podczas tworzenia wykresów zależność dla kodu c i C++, mogą wystąpić następujące problemy:

Problem

Możliwa przyczyna

Rozdzielczość

Nie można wygenerować wykres zależności.

Projektów w roztworze zbudowano pomyślnie.

Napraw błędy kompilacji, które wystąpiły i ponownie wygenerować wykres.

Visual Studioprzestaje odpowiadać po próbie wygenerowania wykres zależności od architektury menu.

Może być uszkodzony plik bazy danych (.pdb) programu.

Plik .pdb przechowuje informacje debugowania, typ, metody i informacje o pliku źródłowego.

Zobacz [OBSOLETE] Pliki bazy danych programu (C++).

Roztwór Odbuduj, a następnie spróbuj ponownie.

Niektóre ustawienia IntelliSense przeglądania bazy danych są wyłączone.

Niektóre ustawienia IntelliSense może być wyłączona w Visual StudioOpcje okno dialogowe.

Włącz ustawienia, aby je włączyć.

Zobacz Zaawansowane opcje edytora tekstów, C/C++,.

Wiadomość Nieznany metod pojawia się w węźle metody.

Ten problem występuje, ponieważ nie można rozpoznać nazwy metody.

Plik binarny może nie mieć tabeli podstawowej przeniesienie.

Włącz /FIXED:NO opcji łączący.

Zobacz / STAŁE (stały adres bazowy).

Plik bazy danych (.pdb) program nie może być zbudowana.

Plik .pdb przechowuje informacje debugowania, typ, metody i informacje o pliku źródłowego.

Aby uzyskać więcej informacji, zobacz [OBSOLETE] Pliki bazy danych programu (C++).

Włącz /DEBUG opcji łączący.

Zobacz / DEBUG (generować informacje debugowania).

Nie można otworzyć lub znaleźć pliku .pdb w oczekiwanej lokalizacji.

Upewnij się, czy istnieje plik .pdb w oczekiwanej lokalizacji.

Debugowanie zostało okorowane informacji z pliku .pdb.

Jeśli /PDBSTRIPED w łączący użyto opcji, zamiast dołączyć plik .pdb kompletne.

Zobacz / PDBSTRIPPED (symbole prywatnego gazy).

Wywołujący nie jest funkcją i jest thunk w pliku binarnym lub wskaźnik w sekcji danych.

Gdy obiekt wywołujący jest thunk, spróbuj użyć _declspec(dllimport) w celu uniknięcia pośredniczącej.

Zobacz:

Co jeszcze można zrobić?

Gdzie można uzyskać więcej informacji?

Kategoria

Łącza

Fora

Blogi