Dav*_* Xu 4 theory
在最近的一次采访中,我被问到以下问题:
你在你的程序中的错误,试图通过将如printf,执行console.log,的System.out.println,回声等语句进行调试后,该错误消失.怎么会发生这种情况?
我回答了以下答案:
System.out.println(foo.somethingWithSideEffects())
面试官说这些不是发生这种情况的唯一方法,我想不出任何其他方式只需添加printf等就可以"修复"程序中的错误.
还有什么可能导致这种情况发生?
Com*_*uid 5
想到的最重要的事情是将调试代码放入可以改变代码的时间,如果正在调试的代码中存在竞争条件,这可能很重要.尝试调试在这样检查时消失的竞争条件可能会非常令人沮丧.
归档时间:
11 年,1 月 前
查看次数:
227 次
最近记录: