在VS2010中使用发布配置构建时未分配处理的值
Value not assigned to handle when build using Release Configuration in VS2010
我使用VS2010,我遇到以下问题:
HWND handle = NULL;
handle = pPlatform->getWindowHandle();
当我在调试配置中调试此代码时,将正确的值分配给"handle",但是当我在发布构建中调试此代码时,"handle"保持NULL。
gettwindowhandle()只是一个简单的访问器:
HWND PlatformManager::getWindowHandle()
{
return windowHandle;
}
"windowHandle"在调试/发布版本中都有一个非null值。
谢谢你的帮助
发布版本包括优化,有时调试器可能会看到得到优化的变量的错误值。这使得发布版本更难调试,但这正是它们不被称为调试版本的原因。:)
简而言之,如果你只需要调试一个发布版本,但你的调试器在捉弄你,你总是可以求助于老式的printf调试。添加一些跟踪函数,例如OutputDebugString,看看handle
在那一点是否真的保持NULL。
字符缓冲区[256];HWND handle = NULL;handle = pPlatform-> gettwindowhandle ();输出debugstringa (_itoa((int)handle, buf, 10));
相关文章:
- 将数组的地址分配给变量并删除
- C++为构建时间获取QDateTime的可靠方法
- 无法在 CLion 中构建 C++ 项目
- 函数向量_指针有不同的原型,我可以构建一个吗
- vector.resize()中的分配错误
- 如何使用ndk-build.cmd构建Android.so文件
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- Win32编译器选项和内存分配
- 函数中堆分配的效果与缺少堆分配的情况
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 获取字符串的长度并将其分配给数组
- 创建一个类来访问和指定向量类型,并构建一个获取位置并为其分配区域的类
- 在 C++ 中构建内存分配
- PCL发布构建崩溃而无法分配
- 构建动态分配的类对象数组
- 如果cv::Mat是用用户分配的数据构建的,那么它会负责删除它吗
- 我如何构建公共数据,同时保留默认的移动元素和分配
- 在VS2010中使用发布配置构建时未分配处理的值