La sfida è scrivere un programma deterministico (qualsiasi linguaggio / sistema operativo) che non accetta argomenti o altri input e si comporta diversamente in un debugger da come si comporta quando non viene eseguito il debug .
Ad esempio, il programma potrebbe generare qualcosa durante il debug ma non produrre nulla quando non viene eseguito il debug. O produrre qualcosa di diverso in ogni caso. Oppure potrebbe bloccarsi quando viene eseguito il debug ma non arrestarsi quando non viene eseguito il debug. O vice versa.
Avvertenze e chiarimenti:
- Le differenze temporali non contano.
- Sono consentite le lingue interpretate.
- Per enfatizzare il determinismo: il comportamento deve essere esattamente riproducibile sia all'interno che all'esterno del contesto di debug.
- La presenza del debugger stesso dovrebbe essere l'unica differenza tra i due casi.
- Dire al debugger di aggiungere input (stdin o argv ENV o altro) è un imbroglio, il debugger dovrebbe eseguire il programma "così com'è".
- La modifica dell'ambiente (ad es. In esecuzione in una macchina virtuale o in un sistema operativo diverso o la modifica delle impostazioni del sistema operativo come i limiti di memoria) tra esecuzioni di debug e non di debug non è consentita.
Il codice più corto vince. Potrei assegnare una taglia che rivela qualcosa di interessante su come funzionano i debugger.

