关闭断言后，测试表达式不会被求值。海森堡bug的其他常见原因是使用未初始化的变量的值（调试时此变量的初始值或地址可能有变化），或者使用了指标（调试时可能指向了不同的地方）。调试器也经常提供监视器(watches)或其他用户界面，它们也可能添加额外的源代码来隐秘地执行（例如属性存取器），从而改变程序的状态。时间也可能是海森堡bug的一个因素，尤其是对于多线程应用程序而言。在调试器控制下执行的程序与正常执行的程序在运行时间上会有差异。使用调试器进行逐行单步调试时，时间敏感的bug（例如竞争危害）可能不会