挑战在于编写确定性程序(任何语言/操作系统),该程序不带参数或其他输入,并且在调试器中的行为与未调试时的行为不同。
例如,程序在调试时可能会输出某些内容,而在调试时可能不会输出任何内容。或在每种情况下输出不同的内容。否则可能在调试时崩溃,但在未调试时不会崩溃。或相反亦然。
注意事项和说明:
- 时间差异不计算在内。
- 允许翻译语言。
- 为了强调确定性:在调试环境内外,行为都必须是完全可复制的。
- 调试器本身的存在应该是两种情况之间的唯一区别。
- 告诉调试器添加输入(stdin或argv ENV或其他)是作弊的,调试器应按原样运行程序。
- 禁止在调试和非调试运行之间更改环境(例如,在虚拟机或其他操作系统中运行,或更改操作系统设置,例如内存限制)。
最短的代码胜出。我可能会颁发赏金,以揭示一些有关调试器如何工作的有趣信息。

