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