Retrocediendo en el tiempo a través del código fuente
La depuración de viajes en el tiempo o depuración de viajes en el tiempo es el proceso de retroceder en el tiempo a través del código fuente para comprender lo que está sucediendo durante la ejecución de un programa informático . [1] Por lo general, la depuración y los depuradores , herramientas que ayudan a un usuario con el proceso de depuración, permiten a los usuarios pausar la ejecución del software en ejecución e inspeccionar el estado actual del programa. [2] Los usuarios pueden luego avanzar en el tiempo, entrando o pasando por encima de las declaraciones y avanzando en una dirección hacia adelante. [3] Los depuradores interactivos incluyen la capacidad de modificar el código y avanzar en función de la información actualizada. [4] Las herramientas de depuración inversa permiten a los usuarios retroceder en el tiempo a través de los pasos que dieron como resultado llegar a un punto particular en el programa. Los depuradores que viajan en el tiempo brindan estas funciones y también permiten a los usuarios interactuar con el programa, cambiar el historial si lo desean y ver cómo responde el programa. [5]
Características que favorecen el desplazamiento bidireccional
Hay varias características que apoyan la capacidad de moverse hacia atrás y hacia adelante en el tiempo.
- La selección de un lenguaje de programación puramente funcional resulta de ayuda debido a la naturaleza autónoma de las funciones puras . Las funciones puras no tienen efectos secundarios y dependen únicamente de la información proporcionada explícitamente a la función, lo que proporciona una ruta repetible, confiable y reproducible a través del código.
- Los lenguajes y depuradores que permiten el intercambio en caliente , la capacidad de modificar el código mientras se ejecuta, proporcionan algunos de los requisitos necesarios para rebobinar y potencialmente reescribir la ejecución. [6] [7]
- Las herramientas basadas en el depurador GNU (GDB) , disponibles para lenguajes compatibles como C , C++ , Go y Fortran , son capaces de realizar una depuración inversa, pero el esfuerzo ralentiza significativamente la interacción. [8]
Depuradores que viajan en el tiempo
Ejemplos de depuradores con capacidad de retroceder:
Véase también
Referencias
- ^ "¡Depuración de viajes en el tiempo en la vista previa de WinDbg!". Herramientas de depuración para Windows . Consultado el 8 de mayo de 2018 .
- ^ Telles, Matthew; Hsieh, Yuan (1 de abril de 2001). La ciencia de la depuración. Coriolis Group Books. ISBN 9781576109175.
- ^ "Depuración inversa, depuración de viajes en el tiempo". undo.io . 9 de enero de 2013 . Consultado el 8 de mayo de 2018 .
- ^ "Depuración interactiva con Node.js - DZone Web Dev". dzone.com . Consultado el 8 de mayo de 2018 .
- ^ "El depurador viajero en el tiempo de Elm". debug.elm-lang.org . Consultado el 8 de mayo de 2018 .
- ^ "programación interactiva". elm-lang.org . Consultado el 8 de mayo de 2018 .
- ^ "Recarga en caliente y depuración de viajes en el tiempo: ¿qué son?". Code Cartoons . 2015-10-21 . Consultado el 2018-05-08 .
- ^ "6 cosas que debes saber sobre la depuración de viajes en el tiempo". undo.io . 3 de enero de 2015 . Consultado el 8 de mayo de 2018 .
- ^ "UDB - Depurador de viajes en el tiempo para C/C++".
- ^ "ProvTools/provDebugR". github.com . 2018-07-31 . Consultado el 2018-07-31 .
- ^ "Depurador de viajes en el tiempo PyTrace para Python".
- ^ "Introducción a Wallaby.js: depurador de viajes en el tiempo". wallabyjs.com . Consultado el 27 de febrero de 2020 .
- ^ Donut, Fox (29 de abril de 2018). "No necesitas Redux, MobX, RxJS, Cerebral". Fox Donut . Consultado el 24 de mayo de 2018 .
- ^ "Acerca de RevDeBug". revdebug.com . Consultado el 28 de marzo de 2020 .
- ^ "Whyline para Java". cs.cmu.edu . Consultado el 21 de enero de 2021 .
- ^ "viajar en el tiempo es fácil". elm-lang.org . Consultado el 8 de mayo de 2018 .
- ^ "Greg Law sobre depuración, registro y reproducción de datos e hiperobservabilidad".
- ^ "Greg Law sobre depuración, registro y reproducción de datos e hiperobservabilidad".
- ^ DOMARS. "Depuración de viajes en el tiempo: descripción general". docs.microsoft.com . Consultado el 8 de mayo de 2018 .
- ^ "Obtener vista previa de WinDbg". Microsoft .
- ^ "Análisis completo del sistema atemporal para Windows".
- ^ "Análisis completo del sistema atemporal para Linux".