在VS2010中使用Release Configuration进行构建时,未分配要处理的值

| 我使用VS2010,遇到以下问题:
HWND handle = NULL;
handle = pPlatform->getWindowHandle(); 
当我在调试配置中调试此代码时,会将正确的值分配给\“ handle \”,但是当我在发行版中调试此代码时,\“ handle \”保持为NULL。 getWindowHandle()只是一个简单的访问器:
HWND PlatformManager::getWindowHandle()
{ 
   return windowHandle;
}
在调试/发布版本中进行调试时,\“ windowHandle \”都具有非NULL值。 谢谢您的帮助。     
已邀请:
发布版本包含优化,有时调试器可能会为已优化的变量看到错误的值。这使Release版本更难以调试,这就是为什么它们不被称为Debug版本的原因。 :) 简而言之,如果您只需要调试发行版,而调试器却在欺骗您,则始终可以使用老式的printf调试。添加一些跟踪功能,例如使用OutputDebugString,然后查看and2ѭ是否真的保持NULL。 char buf [256]; HWND句柄= NULL; handle = pPlatform-> getWindowHandle(); OutputDebugStringA(_itoa((int)句柄,buf,10));     

要回复问题请先登录注册