C ++: необработанное исключение в 0x0b9ec715 (XX.dll) в XY.exe: 0xC0000005: расположение чтения нарушения доступа 0x00000004 - PullRequest
0 голосов
/ 29 июля 2010

Как мне отладить вышеуказанную ошибку? Я использую C ++ с Microsoft Visual Studio.

Ниже приведена часть кода:

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

Когда я отлаживаю код, он вылетает на линии X->selectPallete(dc);

Ответы [ 2 ]

0 голосов
/ 29 июля 2010

Используйте отладчик, чтобы проверить значения в mMemDC и X.Некоторый код по адресу памяти 0x0b9ec715 пытается прочитать память в недопустимом расположении 0x00000004.0xC0000005 - это код, который обозначает ошибку при попытке чтения памяти в недопустимом месте.

Также здесь вы можете получить несколько идей о других исключениях со странными «адресами» памяти: http://blog.sina.com.cn/s/blog_598c00790100a6a0.html

0 голосов
/ 29 июля 2010

Установить точку останова на X->SelectPalette(dc);.Осмотреть X.Если он не похож на действительный указатель (то есть в данном случае адрес около 0x0b9ec715) или равен 0, то это определенно плохой указатель.Также предоставьте больше кода, поскольку то, что вы дали, на самом деле не отвечает на любые вопросы.

...