我有一个自动构建过程,昨天构建会在启动时出现页面错误(错误分配)。我手动构建了版本,页面错误神奇地消失了。我再次使用完全相同的代码使用自动构建过程,页面错误神奇地消失了。
今天在我的调试环境中,我遇到了一个新异常(不同的位置)。此时代码检查 NULL,然后“throw()”退出函数。我的指针为 NULL,输入了 if,编译器直接跳过了“throw(0)”,就像它不存在一样,继续执行同一个函数。我重建了 DLL,然后该行的行为就像它确实存在一样,一切都很好(再次神奇)。
我只是想知道其他人是否看到过这种行为,对为什么会发生这种情况有建议,并有任何解决问题的建议。有一种方法来确定代码在构建日志中没有显示错误时是否确实无法正确构建也会非常有帮助。