Teóricamente podría ser posible que un entorno de tiempo de ejecución compruebe dichos bucles utilizando el siguiente procedimiento:
Después de que se ejecute la instrucción, el entorno de ejecución generará una imagen completa del estado de un proceso en ejecución (es decir, toda la memoria asociada con él, incluidos los registros, la PC, la pila, el montón y los globales), guardará esa imagen en algún lugar y luego la comprobará en vea si coincide con alguna de sus imágenes guardadas previamente para ese proceso. Si hay una coincidencia, el proceso se atasca en un bucle infinito. De lo contrario, se ejecuta la siguiente instrucción y se repite el proceso.
De hecho, en lugar de realizar esta verificación después de cada instrucción, el entorno de ejecución simplemente podría pausar el proceso periódicamente y hacer un estado de guardado. Si el proceso está atascado en un bucle infinito que involucra n estados, luego, como máximo, n verificaciones, se observará un estado duplicado.
Tenga en cuenta, por supuesto, que esto no es una solución al problema de detención; La distinción se discute aquí .
Pero tal característica sería un enorme desperdicio de recursos ; pausar continuamente un proceso para guardar toda la memoria asociada con él lo ralentizaría enormemente y consumiría una enorme cantidad de memoria muy rápidamente. (Aunque las imágenes antiguas podrían eliminarse después de un tiempo, sería arriesgado limitar el número total de imágenes que podrían guardarse porque un gran bucle infinito, es decir, uno con muchos estados) podría no quedar atrapado si hay muy pocos estados guardados en la memoria.) Además, esta característica en realidad no proporcionaría tantos beneficios, ya que su capacidad para detectar errores sería extremadamente limitada y porque es relativamente simple encontrar bucles infinitos con otros métodos de depuración (como simplemente recorrer el código y reconociendo el error lógico).
Por lo tanto, dudo que exista un entorno de tiempo de ejecución o que exista, a menos que alguien lo programe solo por diversión. (Lo cual estoy un poco tentado a hacer ahora).