Zorluk, herhangi bir argüman veya başka girdi almayan ve hata ayıklayıcıda hata ayıklanmadığında nasıl davrandığından farklı davranan deterministik bir program (herhangi bir dil / işletim sistemi) yazmaktır .
Örneğin, program hata ayıklandığında bir şey çıktısı verebilir, ancak hata ayıklanmadığında hiçbir şey çıktısı veremez. Veya her durumda farklı bir şey çıktılayın. Veya hata ayıklandığında çökebilir, ancak hata ayıklanmadığında çökmeyebilir. Ya da tam tersi.
Uyarılar ve açıklamalar:
- Zamanlama farklılıkları dikkate alınmaz.
- Yorumlanan dillere izin verilir.
- Determinizm vurgulamak için: davranış hata ayıklama bağlamında ve dışında tam olarak tekrarlanabilir olmalıdır.
- Hata ayıklayıcının varlığı iki durum arasındaki tek fark olmalıdır.
- Hata ayıklayıcıya girdi (stdin veya argv ENV veya başka bir yöntem) eklemesini söyleyen hile, hata ayıklayıcı programı "olduğu gibi" çalıştırmalıdır.
- Hata ayıklama ve hata ayıklama olmayan çalıştırmalar arasında ortamın değiştirilmesine (örneğin, sanal bir makinede veya farklı bir işletim sisteminde çalıştırılmasına veya bellek sınırları gibi işletim sistemi ayarlarını değiştirmeye) izin verilmez.
En kısa kod kazanır. Hata ayıklayıcıların nasıl çalıştığı hakkında ilginç bir şey ortaya koyan bir ödül verebilirim.