Почва исключение с ++
Когда я делал свою игру, все прошло нормально, но внезапно у меня появилось странное исключение на загрузочной картине почвы. Это не произошло в начале игры, это случилось внезапно, это было очень странно.
вот картинка: http://oi39.tinypic.com/vgj9y.jpg
вот код:
bool window::loadTex(std::string fName, int fNum)
{
textur[fNum] = SOIL_load_OGL_texture
(
(char*)fName.c_str(),
SOIL_LOAD_AUTO,
SOIL_CREATE_NEW_ID,
SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y
);
if(textur[fNum] == 0)
return false;
return true;
}
и вызов функции:
if(!loadTex(std::string("data/back.png"), 0))
printf("Can't load image");
это так странно... когда произошло исключение, я не сделал ничего, что связано с почвой.
Есть больше информации об этом в Dissambly, это может помочь?
First-chance exception at 0x784FFDEE (msvcr100.dll) in ConsoleApplication6.exe: 0xC0000005: Access violation reading location 0x00000000.
Исправлена! большое спасибо!
1 ответ
В этом нет ничего странного. У вас есть ошибка во время выполнения. Возможно, где-то в вашем коде вы переполняете некоторую память, и именно так проблема проявляется. Вам нужно найти проблему в вашем коде.
Один из способов найти проблему - посмотреть с помощью отладчика, что не так с объектами, где происходит сбой. Возможно, один из указателей там имеет недопустимое значение. Если адрес этого указателя, в котором содержится мусор, является постоянным между запусками, вы можете поставить точку прерывания данных на его адрес и видеть, каждый раз, когда вы достигаете точки останова данных, кто ее меняет и является ли это ошибкой или нормальным исправным течь.