Un paso de instrucción es un método para ejecutar un programa informático paso a paso para determinar cómo está funcionando. Esto puede ser para determinar si se está siguiendo el flujo correcto del programa durante la ejecución o para ver si las variables están configuradas con sus valores correctos después de que se haya completado un solo paso.
En las computadoras anteriores, una perilla en la consola de la computadora podía permitir seleccionar el modo de ejecución paso a paso y luego la ejecución se realizaba presionando un botón de "paso único" o "ciclo único". La lectura de la palabra de estado del programa , la memoria o el registro de propósito general se podía realizar observando y notando las luces de la consola.
En plataformas posteriores con múltiples usuarios, este método era poco práctico y por eso la ejecución en un solo paso debía realizarse mediante técnicas de software.
En algunos productos de software que facilitan la depuración de lenguajes de alto nivel , es posible ejecutar una sentencia HLL completa a la vez. Esto implica con frecuencia muchas instrucciones de máquina y pausas de ejecución después de la última instrucción de la secuencia, listas para el siguiente paso de "instrucción". Esto requiere la integración con la salida de compilación para determinar el alcance de cada sentencia.
Sin embargo, los simuladores de conjuntos de instrucciones completos podrían proporcionar instrucciones paso a paso con o sin fuente alguna, ya que operan a nivel de código de máquina, proporcionando opcionalmente información completa de seguimiento y depuración a cualquier nivel superior que estuviera disponible a través de dicha integración. Además, también pueden permitir opcionalmente el paso a paso por cada instrucción de ensamblaje (máquina) generada por una declaración HLL.
Utilizando esta técnica se podrían acomodar programas compuestos de múltiples "módulos" compilados a partir de una mezcla de lenguajes compilados, e incluso instrucciones creadas "sobre la marcha" en una memoria asignada dinámicamente.