Compartir a través de


Visualización de la jerarquía de llamadas

Al ver la jerarquía de llamadas del código, puede navegar por todas las llamadas a, a veces desde un método, una propiedad o un constructor seleccionados. Esto le permite comprender mejor cómo fluye el código y evaluar los efectos de los cambios en el código. Puede examinar varios niveles de código para ver cadenas complejas de llamadas de método y puntos de entrada adicionales al código. Esto le permite explorar todas las rutas de acceso de ejecución posibles.

En Visual Studio, puede ver una jerarquía de llamadas en tiempo de diseño. Esto significa que no tiene que establecer un punto de interrupción e iniciar el depurador para ver la pila de llamadas en tiempo de ejecución.

Usar la ventana Jerarquía de llamadas

Para mostrar la ventana Jerarquía de llamadas , haga clic con el botón derecho en el editor de código en el nombre de una llamada de método, propiedad o constructor y, a continuación, seleccione Ver jerarquía de llamadas.

El nombre del miembro aparece en un panel de vista de árbol en la ventana Jerarquía de llamadas . Si expande el nodo miembro, Llama anombre de miembro y, para C++, aparecen llamadas desdeel nombre del miembro, subnodos.

Para el código de C++, puede ver llamadas explícitas tanto a como desde un miembro:

Jerarquía de llamadas para código de C++ en Visual Studio

Nota:

En el código de C++, se puede llamar a funciones miembro implícitamente, como un constructor o un método de conversión de tipos; estas llamadas implícitas no se incluyen necesariamente en la lista.

Para el código de C# y Visual Basic, puede ver llamadas a un miembro, pero no llamadas desde:

Jerarquía de llamadas para código de C# en Visual Studio

  • Si expande el nodo Llamadas a , se muestran todos los miembros que llaman al miembro seleccionado.

  • Para C++, se expande el nodo Llamadas desde , se muestran todos los miembros a los que llama el miembro seleccionado (explícitamente).

A continuación, puede expandir cada miembro de llamada para ver sus llamadas a y para C++, Llamadas desde nodos. Esto le permite navegar a la pila de autores de llamadas, como se muestra en la siguiente imagen:

Ventana Jerarquía de llamadas con varios niveles expandidos

En el caso de los miembros que se definen como virtuales o abstractos, aparece un nodo nombre de método Overrides . En el caso de los miembros de la interfaz, aparece un nodo Implementar nombre de método . Estos nodos expandibles aparecen en el mismo nivel que los nodos Llamadas a y Llamadas desde .

El cuadro Ámbito de búsqueda de la barra de herramientas contiene opciones para Mi solución, Proyecto actual y Documento actual.

Al seleccionar un miembro secundario en el panel Vista de árbol jerarquía de llamadas :

  • El panel Detalles de la jerarquía de llamadas muestra todas las líneas de código en las que se llama a ese miembro secundario desde el miembro primario.

  • La ventana Definición de código, si está abierta, muestra el código del miembro seleccionado (solo C++). Para obtener más información sobre esta ventana, consulte Visualización de la estructura del código.

Nota:

La característica Jerarquía de llamadas no encuentra referencias de grupo de métodos, que incluye lugares donde se agrega un método como controlador de eventos o se asigna a un delegado. Para buscar todas las referencias a un método, puede usar el comando Buscar todas las referencias .

Elementos de menú contextual

En la tabla siguiente se describen varias opciones de menú contextual que están disponibles al hacer clic con el botón derecho en un nodo en el panel de vista de árbol.

Elemento de menú contextual Descripción
Agregar como nueva raíz Agrega el nodo seleccionado al panel de vista de árbol como un nuevo nodo raíz. Esto le permite centrar su atención en un subárbol específico.
Quitar raíz Quita el nodo raíz seleccionado del panel de vista de árbol. Esta opción solo está disponible desde un nodo raíz.

También puede usar el botón Quitar barra de herramientas Raíz para quitar el nodo raíz seleccionado.
ir a definición Ejecuta el comando Ir a definición en el nodo seleccionado. Esto navega a la definición original de una llamada de miembro o definición de variable.

Para ejecutar el comando Ir a definición, también puede hacer doble clic en el nodo seleccionado o presionar F12 en el nodo seleccionado.
Buscar todas las referencias Ejecuta el comando Buscar todas las referencias en el nodo seleccionado. Esto busca todas las líneas de código del proyecto que hacen referencia a una clase o miembro.

También puede usar MAYÚS+F12 para ejecutar el comando Buscar todas las referencias en el nodo seleccionado.
Copiar Copia el contenido del nodo seleccionado (pero no sus subnodos).
actualizar Contrae el nodo seleccionado para que vuelva a expandirlo muestra la información actual.