Compartir a través de


Crear un mapa visual de la pila de llamadas durante la depuración (C#, Visual Basic, C++, JavaScript)

Crea un mapa de código para trazar visualmente la pila de ejecución mientras depuras. Puede tomar notas en el mapa para realizar un seguimiento de lo que hace el código, por lo que puede centrarse en buscar errores.

Para obtener más información sobre los comandos y las acciones que puede usar con mapas de código, consulte Examinar y reorganizar mapas de código.

Importante

Solo puede crear asignaciones de código en Visual Studio Enterprise Edition.

Este es un vistazo rápido a un mapa de código:

Depuración con pilas de llamadas en mapas de código

Mapear la pila de llamadas

  1. En un proyecto de Visual Studio Enterprise C#, Visual Basic, C++o JavaScript, inicie la depuración seleccionando Depurar>Iniciar depuración o presionando F5.

  2. Una vez que la aplicación entra en modo de pausa o entras en una función, selecciona Depurar>Mapa de Código, o presiona Ctrl+Mayús+`.

    La pila de llamadas actual aparece en naranja en un nuevo mapa de código:

    Consulte la pila de llamadas en el mapa de código DebuggerMap_SeeUndoCallStack.

El mapa de código se actualiza automáticamente a medida que continúa la depuración. Cambiar elementos de mapa o diseño no afecta al código de ninguna manera. No dude en cambiar el nombre, mover o quitar cualquier elemento del mapa.

Para obtener más información sobre un elemento, pase el ratón sobre él y examine la información sobre herramientas del elemento. También puede seleccionar Leyenda en la barra de herramientas para saber qué significa cada icono.

Leyenda del mapa de código

Nota:

El mensaje El diagrama puede basarse en una versión anterior del código en la parte superior del mapa de código, lo que significa que es posible que el código haya cambiado después de actualizar el mapa por última vez. Por ejemplo, es posible que una llamada en el mapa ya no exista en el código. Cierre el mensaje y vuelva a intentar volver a generar la solución antes de volver a actualizar el mapa.

Mapear código externo

De forma predeterminada, solo aparece su propio código en el mapa. Para ver el código externo en el mapa:

  • Haga clic con el botón derecho en la ventana Pila de llamadas y seleccione Mostrar código externo:

    Mostrar código externo mediante la ventana Pila de llamadas

  • O bien, desactive la casilla Habilitar solo mi código en Visual Studio:

    Esta opción está disponible en el panel Herramientas (o Depurar) >Opciones en la sección Todas las opciones>de depuración>general :

    Captura de pantalla que muestra cómo seleccionar la opción Habilitar solo mi código en Visual Studio.

    Esta opción está disponible en el cuadro de diálogo Herramientas (o Depurar) >Opciones en la sección Depuración>general :

    Mostrar código externo mediante el cuadro de diálogo Opciones

Controlar el diseño del mapa

Cambiar el diseño del mapa no afecta al código de ninguna manera.

Para controlar el diseño del mapa, seleccione el menú Diseño de la barra de herramientas del mapa.

En el menú Diseño , puede:

  • Cambie el diseño predeterminado.
  • Detenga el reordenamiento automático del mapa deseleccionando Diseño automático al depurar.
  • Reorganice el mapa lo menos posible al agregar elementos seleccionando Diseño incremental.

Tome notas sobre el código.

Puede agregar comentarios para realizar un seguimiento de lo que sucede en el código.

Para agregar un comentario, haga clic con el botón derecho en el mapa de código y seleccione Editar>nuevo comentario y escriba el comentario.

Para agregar una nueva línea en un comentario, presione Mayús+Entrar.

Agregar comentario a la pila de llamadas en el mapa de código

Actualiza el mapa con la siguiente pila de llamadas

A medida que ejecuta la aplicación en el siguiente punto de interrupción o pasa a una función, el mapa agrega automáticamente nuevas pilas de llamadas.

Actualice el mapa de código con la siguiente pila de llamadas

Para impedir que el mapa agregue nuevas pilas de llamadas automáticamente, seleccione Mostrar pila de llamadas en el mapa de código automáticamente en la barra de herramientas del mapa de código. El mapa continúa destacando las pilas de llamadas existentes. Para agregar manualmente la pila de llamadas actual al mapa, presione Ctrl+Mayús+`.

Adición de código relacionado al mapa

Ahora que tiene un mapa, en C# o Visual Basic, puede agregar elementos como campos, propiedades y otros métodos, para realizar un seguimiento de lo que sucede en el código.

Para ir a la definición de un método en el código, haga doble clic en el método en el mapa, o selecciónelo y presione F12, o haga clic con el botón derecho en él y seleccione Ir a definición.

Vaya a la definición de código de un método en el mapa de código

Para agregar elementos de los que desea realizar un seguimiento al mapa, haga clic con el botón derecho en un método y seleccione los elementos a los que desea realizar el seguimiento. Los elementos agregados más recientemente aparecen en verde.

Campos relacionados con un método en el mapa de código de pila de llamadas

Nota:

De forma predeterminada, agregar elementos al mapa también agrega los nodos del grupo primario, como la clase, el espacio de nombres y el ensamblado. Puede desactivar y activar esta característica seleccionando el botón Incluir padres en la barra de herramientas del mapa de código o presionando Ctrl mientras agrega elementos.

Mostrar campos de un método en el mapa de código de la pila de llamadas

Siga compilando el mapa para ver más código.

Consulte los métodos que usan un campo: mapa de código de pila de llamadas

Métodos que usan un campo en el mapa de código de pila de llamadas

Búsqueda de errores mediante el mapa

Visualizar el código puede ayudarle a encontrar errores más rápido. Por ejemplo, supongamos que está investigando un error en una aplicación de dibujo. Cuando dibuja una línea e intenta deshacerla, no sucede nada hasta que dibuja otra línea.

Por lo tanto, establece puntos de interrupción en los métodos clear, undo y Repaint, inicia la depuración y compila un mapa como este:

Adición de otra pila de llamadas al mapa de código

Observe que todos los gestos de usuario en el mapa llaman a Repaint, excepto a undo. Esto puede explicar por qué undo no funciona inmediatamente.

Después de corregir el error y seguir ejecutando la aplicación, el mapa agrega la nueva llamada de undo a Repaint:

Agregar nueva llamada de método a la pila de llamadas en el mapa de código DebuggerMap_AddNewCallForRepaint

Compartir el mapa con otros usuarios

Puede exportar un mapa, enviarlo a otros usuarios con Microsoft Outlook, guardarlo en la solución y comprobarlo en el control de versiones.

Para compartir o guardar el mapa, use Compartir en la barra de herramientas del mapa de código.

Compartir mapa de código de pila de llamadas con otros usuarios