Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Genom att visa anropshierarkin för koden kan du navigera alla anrop till och ibland från en vald metod, egenskap eller konstruktor. På så sätt kan du bättre förstå hur kod flödar och utvärdera effekterna av ändringar i kod. Du kan undersöka flera nivåer av kod för att visa komplexa kedjor av metodanrop och ytterligare startpunkter till koden. På så sätt kan du utforska alla möjliga körningsvägar.
I Visual Studio kan du visa en anropshierarki vid designtillfället. Det innebär att du inte behöver ange en brytpunkt och starta felsökningsprogrammet för att visa körningsanropsstacken.
Använda fönstret Samtalshierarki
Om du vill visa fönstret Samtalshierarki högerklickar du i kodredigeraren på namnet på en metod, egenskap eller konstruktoranrop och väljer sedan Visa samtalshierarki.
Medlemsnamnet visas i ett trädvyfönster i fönstret Samtalshierarki . Om du expanderar medlemsnoden, anropar tillmedlemsnamn och för C++, Samtal frånmedlemsnamn visas undernoder.
För C++-kod kan du se explicita anrop både till och från en medlem:
Anmärkning
I C++-kod kan medlemsfunktioner anropas implicit, till exempel en konstruktor eller en typkonverteringsmetod. dessa implicita anrop ingår inte nödvändigtvis i listan.
För C# och Visual Basic-kod kan du se anrop till en medlem, men inte anrop från:
Om du expanderar noden Samtal till visas alla medlemmar som anropar den valda medlemmen.
För C++, f du expanderar noden Samtal från , visas alla medlemmar som (uttryckligen) anropas av den valda medlemmen.
Du kan sedan expandera varje anropande medlem för att se dess anrop till och för C++, Anrop från noder. På så sätt kan du navigera till stacken med anropare, som du ser i följande bild:
För medlemmar som definieras som antingen virtuella eller abstrakta visas en namnnod för åsidosättningsmetod . För gränssnittsmedlemmar visas en namnnod för implementeringsmetoden . Dessa expanderbara noder visas på samma nivå som noderna Samtal till och Anrop från .
Rutan Sökomfång i verktygsfältet innehåller alternativ för Min lösning, Aktuellt projekt och Aktuellt dokument.
När du väljer en underordnad medlem i fönstret Anropshierarkiträd :
Informationsfönstret Samtalshierarki visar alla kodrader där den underordnade medlemmen anropas från den överordnade medlemmen.
I fönstret Koddefinition , om det är öppet, visas koden för den valda medlemmen (endast C++). Mer information om det här fönstret finns i Visa kodens struktur.
Anmärkning
Funktionen Samtalshierarki hittar inte metodgruppreferenser, som innehåller platser där en metod läggs till som händelsehanterare eller tilldelas till ett ombud. Om du vill hitta alla referenser till en metod kan du använda kommandot Hitta alla referenser .
Menyalternativ för snabbkommandon
I följande tabell beskrivs flera alternativ för snabbmenyer som är tillgängliga när du högerklickar på en nod i trädvisningsfönstret.
| Snabbmenyobjekt | Description |
|---|---|
| Lägg till som ny rot | Lägger till den valda noden i trädvisningsfönstret som en ny rotnod. På så sätt kan du fokusera din uppmärksamhet på ett specifikt underträd. |
| Ta bort rot | Tar bort den markerade rotnoden från trädvisningsfönstret. Det här alternativet är endast tillgängligt från en rotnod. Du kan också använda knappen Ta bort rotverktygsfältet för att ta bort den valda rotnoden. |
| Gå till definition | Kör kommandot Gå till definition på den valda noden. Detta navigerar till den ursprungliga definitionen för ett medlemsanrop eller en variabeldefinition. Om du vill köra kommandot Gå till definition kan du också dubbelklicka på den valda noden eller trycka på F12 på den valda noden. |
| Hitta alla referenser | Kör kommandot Sök alla referenser på den valda noden. Då hittas alla kodrader i projektet som refererar till en klass eller medlem. Du kan också använda SKIFT+F12 för att köra kommandot Hitta alla referenser på den valda noden. |
| Copy | Kopierar innehållet i den valda noden (men inte dess undernoder). |
| Uppdatera | Döljer den valda noden så att den visar aktuell information igen. |