¿Cuál es el propósito de la ventana Pila de llamadas en Visual Studio?¿Cuál es el propósito de la ventana Pila de llamadas en Visual Studio?
Respuesta
Cada vez que llamas a un método, se coloca una entrada en la "pila" para ese hilo que describe el método y los parámetros utilizados para llamar al método. Cuando el método retorna, el método y sus parámetros se eliminan de la pila. Así es como el entorno operativo sabe dónde regresar cuando termina un método. Simplemente elimina la entrada superior de la pila, limpia las variables locales que se crearon durante ese marco de pila y regresa al método anterior. (Eso está simplificado, pero generalmente es la idea.)
Puede pensarlo literalmente como una "pila" de las instrucciones que lo trajeron aquí.
Eso es lo que significa para el entorno operativo.
Para el desarrollador, el propósito práctico es ayudarle a comprender por qué su programa se encuentra en el estado en que se encuentra. Siempre que la ejecución del programa se detenga en el depurador, ya sea por punto de interrupción o por una excepción (dependiendo de su Configuración de Visual Studio), tendrá acceso a la pila actual. Recuerde que esta pila no muestra TODOS los métodos que se han invocado hasta este momento. Cualquier método que completó se eliminó de la pila. No es un registro.
Puede hacer doble clic en cualquiera de las entradas en la pila para ir a ese código fuente (si está disponible en su máquina). Mientras estás allí, puedes inspeccionar variables locales, etc. Es un tipo de herramienta de detección que te ayuda a descubrir qué ha sucedido en tu programa hasta este momento.
Cuando se rompe el código (es decir, cuando se lanza una excepción) la ventana Rastreo de pila le mostrará todos los métodos que se invocaron antes del método que generó la excepción, incluidos los parámetros para cada método y el estado de estos parámetros. Esto hace que la depuración sea más fácil, especialmente en los gráficos de llamadas más complejos (es decir, cuando no se puede determinar mirando el código que llamó a qué otro método/propiedad/función).
Inténtelo, coloque un punto de interrupción en algún lugar de su código (F9), ejecute su código, espere que se golpee el punto de interrupción y luego abra la ventana de la pila. Verá todas las llamadas hasta la línea actual. Puede hacer doble clic en cada entrada en la ventana de seguimiento de la pila y el cursor saltará directamente hacia allí.
En caso de que se preguntaban: líneas grises son las llamadas a métodos de las cuales hay código fuente, o símbolos se cargan. Puede hacer clic con el botón derecho en estas líneas y seleccionar Cargar símbolos para cargar los símbolos.
El propósito de la pila de llamadas es para que pueda ver exactamente lo que causó un problema llamado a suceder.
Cuando nos fijamos en el seguimiento de pila en una excepción, se puede ver la llamada original que provocó el error suceda.
Al depurar en Visual Studio, puede navegar hacia arriba y hacia abajo en la pila de llamadas para ver qué valores está almacenando su aplicación en diferentes niveles. Es útil para depurar cómo llegó su aplicación al estado en el que se encuentra.
El propósito de la ventana de la pila de llamadas es proporcionarle acceso a la ruta completa del código que le llevó a la instrucción actual. Puede usarlo para navegar a llamadas de función previas dentro del programa, inspeccionar variables locales, parámetros, etc. Es una herramienta invaluable para determinar por qué su código está haciendo lo que está haciendo.
- 1. Depuración de un minidump en Visual Studio, donde la pila de llamadas es nulo
- 2. Ventana de pila de llamadas siempre vacía
- 3. ¿Cómo puedo navegar por la pila de llamadas en Visual Studio usando solo el teclado?
- 4. ¿Cuál es el propósito de registrar clases de ventana?
- 5. Visual Studio breakpoint condicional en el estado de pila
- 6. ¿Cuál es el propósito de la tilde en esta situación?
- 7. Visual Studio ventana de comandos
- 8. ¿Cuál es el propósito del proceso de alojamiento de Visual Studio?
- 9. Cómo mostrar la Pila de llamadas, Inmediato y otras ventanas ocultas en Visual Studio
- 10. Visual Studio 2010 Locals Ventana Rojo Fuente
- 11. Visual Studio: excluir el delineado de la pila deshacer/rehacer
- 12. ¿Cuál es el propósito de establecer el objetivo de la plataforma para una aplicación de Visual Studio?
- 13. Sin ventana de memoria en Visual Studio 2010
- 14. ¿Cuál es el propósito de :: en C#?
- 15. ¿cuál es el marco visual de la GUI que Visual Studio está usando por defecto?
- 16. ¿Cuál es el equivalente de Visual Studio 2008 Object Test Bench en Visual Studio 2010?
- 17. "Paquete de integración de Visual Studio" frente a "Complemento de Visual Studio": ¿cuál es la diferencia?
- 18. ¿Cuál es el propósito del tamaño de la ventana de datos del canal de protocolo SSH?
- 19. ¿Cuál es el propósito de cada una de las ubicaciones de memoria, pila, pila, etc.? (perdido en tecnicismos)
- 20. Ventana de edición dividida en Visual Studio
- 21. ¿Cuál es el propósito de las clases parciales?
- 22. ¿Cuál es el propósito del nodo Ensambles en Web.Config?
- 23. ¿Qué significa "código externo" en la pila de llamadas?
- 24. ¿Cuál es el propósito de 'Class.forName ("MY_JDBC_DRIVER")'?
- 25. ¿Cuál es el propósito de `qt_noop`
- 26. ¿Cuál es el propósito de layout.xml?
- 27. ¿Cuál es el propósito de requestWindowFeature()?
- 28. ¿Cuál es el propósito de config.assets.precompile?
- 29. ¿Cuál es el propósito de String.IsInterned?
- 30. ¿Cuál es el propósito de Mage_Core_Block_Template_Facade
Me siento inclinado a agregar un voto para cerrar. –