如何调试上述错误?我正在使用C ++和Microsoft Visual Studio。
以下是代码的一部分:
HDC dc =*mMemDC;
X->SelectPalette(dc);
当我调试代码时,它会在行X->selectPallete(dc);
答案 0 :(得分:0)
在X->SelectPalette(dc);
设置断点。检查X
。如果它看起来不像一个有效的指针(即在这种情况下是0x0b9ec715
周围的地址)或是0
,那么它肯定是一个糟糕的指针。还提供更多代码,因为您提供的内容并没有真正回答任何问题。
答案 1 :(得分:0)
使用调试器检查mMemDC和X中的值是什么。存储器地址0x0b9ec715处的某些代码正在尝试读取0x00000004的无效位置处的存储器。 0xC0000005是在尝试读取无效位置的内存时表示错误的代码。
此外,您可以在此处获得有关奇怪内存“地址”的其他异常的一些想法:http://blog.sina.com.cn/s/blog_598c00790100a6a0.html