【发布时间】:2012-03-06 22:31:30
【问题描述】:
在 Visual Studio C++ 2010 开发的 OpenGL win32 程序中,调试版无论如何都可以正常工作,只有在我的代码的一定范围内插入 MessageBox() 诊断消息时,发布版才能正常工作。当然这是一个问题,因为现在我无法使用 MessageBox() 调试我的发布版本,这是我通常做的。此外,如果我将 MessageBox() 放在代码的另一部分(在有问题的 Display 循环内),而不是使程序正常工作,它会使光标 spaz 变成沙漏/非沙漏,并且不会显示 MessageBox() ,几乎就像在每个显示帧都调用 MessageBox() 代码但没有做任何正确的事情。
如果 MessageBox() 在某些地方神奇地修复了它,那么了解可能导致错误的原因。
【问题讨论】:
-
根据 pezcode 对我的回答的注释,如果您可以从设置在需要插入
MessageBox()的位置的断点发布堆栈跟踪,这将有所帮助,无论是来自调试版本还是发布版本。这将有助于为我们绘制更清晰的画面,而无需您发布大量代码。 -
如果您需要帮助,请提供更多详细信息。
标签: visual-studio-2010 winapi visual-c++ opengl