C ++:XY.exe中0x0b9ec715(XX.dll)处的未处理异常:0xC0000005:访问冲突读取位置0x00000004

时间:2010-07-29 04:59:46

标签: windows visual-c++ hdc

如何调试上述错误?我正在使用C ++和Microsoft Visual Studio。

以下是代码的一部分:

HDC dc =*mMemDC;
X->SelectPalette(dc);

当我调试代码时,它会在行X->selectPallete(dc);

上崩溃

2 个答案:

答案 0 :(得分:0)

X->SelectPalette(dc);设置断点。检查X。如果它看起来不像一个有效的指针(即在这种情况下是0x0b9ec715周围的地址)或是0,那么它肯定是一个糟糕的指针。还提供更多代码,因为您提供的内容并没有真正回答任何问题。

答案 1 :(得分:0)

使用调试器检查mMemDC和X中的值是什么。存储器地址0x0b9ec715处的某些代码正在尝试读取0x00000004的无效位置处的存储器。 0xC0000005是在尝试读取无效位置的内存时表示错误的代码。

此外,您可以在此处获得有关奇怪内存“地址”的其他异常的一些想法:http://blog.sina.com.cn/s/blog_598c00790100a6a0.html