0 оценок0% нашли этот документ полезным (0 голосов)
25 просмотров2 страницы
Un depurador (en inglés, debugger), es un programa usado para probar y depurar (eliminar) los errores de otros programas (el programa "objetivo"). El código a ser examinado puede alternativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una técnica que permite gran potencia en su capacidad de detenerse cuando son encontradas condiciones específicas pero será típicamente algo más lento que ejecutando el código directamente en el apropiado (o el mismo) procesador. Algunos depuradores ofrecen dos modos de operación - la simulación parcial o completa, para limitar este impacto
Un depurador (en inglés, debugger), es un programa usado para probar y depurar (eliminar) los errores de otros programas (el programa "objetivo"). El código a ser examinado puede alternativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una técnica que permite gran potencia en su capacidad de detenerse cuando son encontradas condiciones específicas pero será típicamente algo más lento que ejecutando el código directamente en el apropiado (o el mismo) procesador. Algunos depuradores ofrecen dos modos de operación - la simulación parcial o completa, para limitar este impacto
Un depurador (en inglés, debugger), es un programa usado para probar y depurar (eliminar) los errores de otros programas (el programa "objetivo"). El código a ser examinado puede alternativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una técnica que permite gran potencia en su capacidad de detenerse cuando son encontradas condiciones específicas pero será típicamente algo más lento que ejecutando el código directamente en el apropiado (o el mismo) procesador. Algunos depuradores ofrecen dos modos de operación - la simulación parcial o completa, para limitar este impacto
Un depurador (en ingls, debugger), es un programa usado para probar y
depurar (eliminar) los errores de otros programas (el programa "objetivo").
El cdigo a ser examinado puede alternativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una tcnica que permite gran potencia en su capacidad de detenerse cuando son encontradas condiciones especficas pero ser tpicamente algo ms lento que ejecutando el cdigo directamente en el apropiado (o el mismo) procesador. Algunos depuradores ofrecen dos modos de operacin - la simulacin parcial o completa, para limitar este impacto.
Si es un depurador de nivel de fuente o depurador simblico, comnmente
ahora visto en entornos de desarrollo integrados, cuando el programa "se estrella" o alcanza una condicin predefinida, la depuracin tpicamente muestra la posicin en el cdigo original. Si es un depurador de bajo nivel o un depurador de lenguaje de mquina, muestra la lnea en el fuente desensamblado (a menos que tambin tenga acceso en lnea al cdigo fuente original y pueda exhibir la seccin apropiada del cdigo del ensamblador o del compilador). Un "estrellamiento" sucede cuando el programa no puede continuar normalmente debido a un error de programacin. Por ejemplo, el programa pudo haber intentado usar una instruccin no disponible en la versin actual del CPU o haber intentado tener acceso a memoria protegida o no disponible.
Tpicamente, los depuradores tambin ofrecen funciones ms sofisticadas
tales como correr un programa paso a paso (un paso o animacin del programa), parar el programa (breaking), es decir, pausar el programa para examinar el estado actual en cierto evento o instruccin especificada por medio de un breakpoint, y el seguimiento de valores de algunas variables. Algunos depuradores tienen la capacidad de modificar el estado del programa mientras que est corriendo, en vez de simplemente observarlo. Tambin es posible continuar la ejecucin en una posicin diferente en el programa bypaseando un estrellamiento o error lgico.
La importancia de un buen depurador no puede ser exagerada. De hecho, la
existencia y la calidad de tal herramienta para un lenguaje y una plataforma dadas a menudo puede ser el factor de decisin en su uso, incluso si otro lenguaje/plataforma es ms adecuado para la tarea.[cita requerida] La ausencia de un depurador, una vez estando acostumbrado a usar uno, se ha dicho que "hace que usted se sienta como un hombre ciego en un cuarto oscuro buscando un gato negro que no est all".1 Sin embargo, el software puede (y a menudo) se comporta diferentemente corriendo bajo un depurador que normalmente, debido a los cambios inevitables que la presencia de un depurador har a la temporizacin interna de un programa de software. Como resultado, incluso con una buena herramienta de depuracin, es a menudo muy difcil rastrear problemas de tiempo de corrida en complejos sistemas distribuidos con mltiples hilos.
La misma funcionalidad que hace a un depurador til para eliminar errores
permite ser usado como herramienta de craqueo de software para evadir la proteccin anticopia, la gestin digital de derechos, y otras caractersticas de proteccin de software. A menudo tambin lo hace til como herramienta general de verificacin de pruebas, cobertura de fallas, o analizador de desempeo, especialmente si son mostradas las longitudes de trayectoria de instruccin.
La mayora de los motores de depuracin actuales, tales como gdb y dbx
proporcionan interfaces basadas en lnea de comandos. Los frontales de depuracin son extensiones populares a los motores de depuracin, que proporcionan integracin al IDE, animacin del programa, y caractersticas de visualizacin. Algunos depuradores de los primeros mainframes tales como el Oliver y el SIMON proporcionaron esta misma funcionalidad para el IBM System/360 y posteriores sistemas operativos, hasta los aos 1970