Wyświetlanie hierarchii wywołań

Wyświetlając hierarchię wywołań dla kodu, można nawigować po wszystkich wywołaniach do wybranej metody, właściwości lub konstruktora. Dzięki temu można lepiej zrozumieć, jak przepływy kodu i ocenić skutki zmian w kodzie. Możesz zbadać kilka poziomów kodu, aby wyświetlić złożone łańcuchy wywołań metod i dodatkowe punkty wejścia do kodu. Dzięki temu można eksplorować wszystkie możliwe ścieżki wykonywania.

W programie Visual Studio można wyświetlić hierarchię wywołań w czasie projektowania. Oznacza to, że nie trzeba ustawiać punktu przerwania i uruchamiać debugera, aby wyświetlić stos wywołań czasu wykonywania.

Korzystanie z okna Hierarchia wywołań

Aby wyświetlić okno Hierarchia wywołań, kliknij prawym przyciskiem myszy w edytorze kodu nazwę metody, właściwości lub wywołania konstruktora, a następnie wybierz polecenie Wyświetl hierarchię wywołań.

Nazwa elementu członkowskiego zostanie wyświetlona w okienku widoku drzewa w oknie Hierarchia wywołań. Po rozwinięciu węzła członkowskiego, wywołania donazwy elementu członkowskiego i dla języka C++, wywołania znazwy elementu członkowskiego, pojawią się podwęźle.

W przypadku kodu W języku C++ można zobaczyć jawne wywołania zarówno do, jak i z elementu członkowskiego:

Call Hierarchy for C++ code in Visual Studio

Uwaga

W kodzie języka C++ funkcje składowe mogą być wywoływane niejawnie, takie jak konstruktor lub metoda konwersji typów; te niejawne wywołania nie muszą znajdować się na liście.

W przypadku kodu w językach C# i Visual Basic można zobaczyć wywołania elementu członkowskiego, ale nie z:

Call Hierarchy for C# code in Visual Studio

  • Po rozwinięciu węzła Wywołania do zostaną wyświetlone wszystkie elementy członkowskie wywołujące wybrany element członkowski.

  • W przypadku języka C++rozwiń węzeł Wywołania z węzła, zostaną wyświetlone wszystkie elementy członkowskie (jawnie) wywoływane przez wybrany element członkowski.

Następnie można rozwinąć każdy element wywołujący element członkowski, aby wyświetlić jego wywołania do i dla języka C++, wywołania z węzłów. Dzięki temu możesz przejść do stosu obiektów wywołujących, jak pokazano na poniższej ilustracji:

Call Hierarchy window with multiple levels expanded

W przypadku elementów członkowskich, które są zdefiniowane jako wirtualne lub abstrakcyjne, pojawi się węzeł Nazwa metody przesłonięcia. W przypadku elementów członkowskich interfejsu jest wyświetlany węzeł Implements nazwa metody. Te węzły, które można rozszerzać, są wyświetlane na tym samym poziomie co wywołania do i wywołania z węzłów.

Pole Zakres wyszukiwania na pasku narzędzi zawiera opcje Moje rozwiązanie, Bieżący projekt i Bieżący dokument.

Po wybraniu elementu członkowskiego podrzędnego w okienku widoku drzewa hierarchii wywołań:

  • W okienku Szczegóły hierarchii wywołań są wyświetlane wszystkie wiersze kodu, w których element członkowski podrzędny jest wywoływany z elementu nadrzędnego.

  • Jeśli zostanie otwarte okno Definicja kodu, wyświetla kod wybranego elementu członkowskiego (tylko C++). Aby uzyskać więcej informacji na temat tego okna, zobacz Wyświetlanie struktury kodu.

Uwaga

Funkcja hierarchii wywołań nie znajduje odwołań do grupy metod, w tym miejsc, w których metoda jest dodawana jako procedura obsługi zdarzeń lub jest przypisywana do delegata. Aby znaleźć wszystkie odwołania do metody, możesz użyć polecenia Znajdź wszystkie odwołania .

Elementy menu skrótów

W poniższej tabeli opisano kilka opcji menu skrótów, które są dostępne po kliknięciu prawym przyciskiem myszy węzła w okienku widoku drzewa.

Element menu kontekstowego opis
Dodaj jako nowy katalog główny Dodaje wybrany węzeł do okienka widoku drzewa jako nowy węzeł główny. Dzięki temu można skupić uwagę na konkretnym poddrzewie.
Usuń katalog główny Usuwa wybrany węzeł główny z okienka widoku drzewa. Ta opcja jest dostępna tylko z węzła głównego.

Możesz również użyć przycisku Usuń główny pasek narzędzi, aby usunąć wybrany węzeł główny.
Przejdź do definicji Uruchamia polecenie Przejdź do definicji w wybranym węźle. Spowoduje to przejście do oryginalnej definicji wywołania elementu członkowskiego lub definicji zmiennej.

Aby uruchomić polecenie Przejdź do definicji, możesz również kliknąć dwukrotnie wybrany węzeł lub nacisnąć klawisz F12 w wybranym węźle.
Znajdź wszystkie odwołania Uruchamia polecenie Znajdź wszystkie odwołania w wybranym węźle. Spowoduje to znalezienie wszystkich wierszy kodu w projekcie odwołujących się do klasy lub składowej.

Możesz również użyć klawiszy SHIFT+F12, aby uruchomić polecenie Znajdź wszystkie odwołania w wybranym węźle.
kopia Kopiuje zawartość wybranego węzła (ale nie jego podwęźle).
Odświeżania Zwija wybrany węzeł, aby ponownie rozwinąć bieżące informacje.