A debugger or debugging tool is a computer program used to test and debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its operations in progress and monitor changes in computer resources (most often memory areas used by the target program or the computer's operating system) that may indicate malfunctioning code. Typical debugging facilities include the ability to run or halt the target program at specific points, display the contents of memory, CPU registers or storage devices (such as disk drives), and modify memory or register contents in order to enter selected test data that might be a cause of faulty program execution. The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered, but which will typically be somewhat slower than executing the code directly on the appropriate (or the same) processor. Some debuggers offer two modes of operation, full or partial simulation, to limit this
Una herramienta de desgaste es un programa de computadora utilizado para probar y desgastar otros programas (el programa "target"). El uso principal de una herramienta de desgaste es ejecutar el programa objetivo bajo condiciones controladas que permitan al programador rastrear sus operaciones en curso y monitorear cambios en los recursos de computadora (más frecuentemente áreas de memoria utilizadas por el programa objetivo o el sistema operativo del ordenador) que pueden indicar mal funcionamiento del código. Las instalaciones típicas de desgaste incluyen la capacidad de ejecutar o detener el programa objetivo en puntos específicos, mostrar el contenido de la memoria, registros de CPU o dispositivos de almacenamiento (como unidades de disco), y modificar el contenido de la memoria o registro para introducir datos de prueba seleccionados que podrían ser la causa de la ejecución defectuosa del programa. El código a examinar podría ser, alternativamente, ejecutar un simulador de instrucciones (ISS), una técnica que permite una gran potencia en su capacidad de detener cuando se encuentren condiciones específicas, pero que normalmente será algo más lento que ejecutar el código directamente