Как мне отладить вышеуказанную ошибку? Я использую C ++ с Microsoft Visual Studio.
Ниже приведена часть кода:
HDC dc =*mMemDC; X->SelectPalette(dc);
Когда я отлаживаю код, он вылетает на линии X->selectPallete(dc);
X->selectPallete(dc);
Используйте отладчик, чтобы проверить значения в mMemDC и X.Некоторый код по адресу памяти 0x0b9ec715 пытается прочитать память в недопустимом расположении 0x00000004.0xC0000005 - это код, который обозначает ошибку при попытке чтения памяти в недопустимом месте.
Также здесь вы можете получить несколько идей о других исключениях со странными «адресами» памяти: http://blog.sina.com.cn/s/blog_598c00790100a6a0.html
Установить точку останова на X->SelectPalette(dc);.Осмотреть X.Если он не похож на действительный указатель (то есть в данном случае адрес около 0x0b9ec715) или равен 0, то это определенно плохой указатель.Также предоставьте больше кода, поскольку то, что вы дали, на самом деле не отвечает на любые вопросы.
X->SelectPalette(dc);
X
0x0b9ec715
0