Depurador

Depurador

Descripción de la imagen Winpdb-1.3.6.png. Información
Tipo Tipo de software ( pulgadas )

Un depurador (Inglés depurador ) o depurador (versión francesa Bogue) es el software que ayuda a un desarrollador para analizar los errores de un programa . Para ello, le permite ejecutar el programa paso a paso, es decir, la mayoría de las veces línea a línea, mostrar el valor de las variables en cualquier momento y configurar puntos. líneas.

Esta es la aplicación a la programación informática del proceso de resolución de problemas .

usar

El programa a depurar se ejecuta a través del depurador y se ejecuta normalmente. El depurador ofrece entonces al programador la posibilidad de observar y controlar la ejecución del programa, permitiéndole por diversos medios observarlo, detenerlo (pausar la ejecución del programa) y modificarlo. Por ejemplo, se puede observar la pila de ejecución y el contenido de las variables en la memoria, y el valor de las variables se puede cambiar para alterar el flujo de control del programa para, por ejemplo, determinar la causa de una falla.

Cuando se detiene la ejecución del programa, el depurador muestra la posición de ejecución actual en el código fuente original para depurar la  depuración formal (en) y a nivel de fuente. El depurador de nivel bajo o de máquina muestra la línea desensamblada .

Muchos depuradores permiten, además de observar el estado de los registros del procesador y de la memoria, modificarlos antes de devolver el control al programa depurado. Luego, pueden usarse para ubicar ciertas protecciones de software y deshabilitarlas, lo que lleva al diseño de una grieta . Así, algunos programas, sabiendo cómo funcionan los depuradores y queriendo evitar tales modificaciones, implementan trucos anti-depuración .

Técnicas

Las herramientas que ofrecen los depuradores dependen fundamentalmente del lenguaje de programación (utilizado para desarrollar el programa a depurar) para el que fue diseñado. Sin embargo, la gran mayoría de depuradores ofrecen herramientas similares.

Herramientas para controlar la ejecución del programa

Herramientas para observar el estado del programa

Además, el depurador generalmente te permite modificar el estado del programa, cuando se detiene su ejecución:

Depuración remota, depuración cruzada

La depuración cruzada o la depuración cruzada es para depurar un software de forma remota y, a menudo, para una estación de desarrollo de arquitectura de destino diferente.

Depurador de kernel

La depuración de un kernel o de un controlador de sistema operativo requiere herramientas adaptadas a esta tarea particularmente delicada. En particular, esta depuración generalmente se realiza de forma remota por enlace serie (pero a veces por Ethernet) porque el depurador toma el control total del kernel, la máquina de destino se vuelve inutilizable (se congela completamente en cada punto de interrupción).

Vea, por ejemplo, el depurador kgdb integrado en el kernel de Linux .

Depuradores conocidos

Bibliografía

Notas y referencias

  1. (en) "  Ladebug Debugger Manual: Compaq Tru64 UNIX versión 5.1A o superior  " en tru64unix.compaq.com ,Junio ​​de 2001(consultado el 7 de diciembre de 2012 )
  2. (en) "  Los depuradores de Perl  " en perl.org ,7 de diciembre de 2012(consultado el 7 de diciembre de 2012 )
  3. (en) "  HP WDB  " en www2.hp.com ,7 de diciembre de 2012(consultado el 7 de diciembre de 2012 )