El desafío es escribir un programa determinista (cualquier lenguaje / SO) que no tome argumentos u otra entrada y se comporte de manera diferente en un depurador de cómo se comporta cuando no se depura .
Por ejemplo, el programa puede generar algo cuando se depura pero no generar nada cuando no se depura. O generar algo diferente en cada caso. O puede bloquearse cuando se depura, pero no bloquearse cuando no se depura. O viceversa.
Advertencias y aclaraciones:
- Las diferencias de tiempo no cuentan.
- Se permiten idiomas interpretados.
- Para enfatizar el determinismo: el comportamiento debe ser exactamente reproducible dentro y fuera del contexto de depuración.
- La presencia del depurador en sí debería ser la única diferencia entre los dos casos.
- Decirle al depurador que agregue entradas (stdin o argv ENV o lo que sea) es una trampa, el depurador debe ejecutar el programa "tal cual".
- No está permitido cambiar el entorno (p. Ej., Ejecutar en una máquina virtual o un sistema operativo diferente, o cambiar la configuración del sistema operativo, como los límites de memoria) entre ejecuciones de depuración y no depuración.
El código más corto gana. Puedo otorgar una recompensa que revela algo interesante sobre cómo funcionan los depuradores.