Pregunta

Cuando hice mi juego, todo salió bien, pero de repente tuve una extraña excepción en la imagen de carga de tierra. No sucedió al comienzo del juego, sucedió de repente, fue muy extraño.

Aquí una foto:http://oi39.tinypic.com/vgj9y.jpg

Aquí el código:

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;
}

y la función de la función:

if(!loadTex(std::string("data/back.png"), 0))
        printf("Can't load image");

Es tan extraño ... Cuando ocurrió la excepción, no hice nada que se relacionara con el suelo.

Hay más información al respecto en la dismisión, ¿puede ayudar?

First-chance exception at 0x784FFDEE (msvcr100.dll) in ConsoleApplication6.exe: 0xC0000005: Access violation reading location 0x00000000.

¡Fijado! ¡muchas gracias!

¿Fue útil?

Solución

No hay nada extraño en eso. Tienes un error de tiempo de ejecución. Probablemente en algún lugar de su código, invade algo de memoria y esta es la forma en que el problema se manifestó en sí mismo. Debe encontrar el problema en su código.

Una forma de encontrar el problema es mirar con el depurador lo que está mal con los objetos donde está el bloqueo. Tal vez uno de los punteros allí tenga un valor no válido. Si la dirección de este puntero que tiene basura es consistente entre las ejecuciones, puede poner un punto de descanso de datos en su dirección y ver, cada vez que presiona el punto de interrupción de datos, quién lo está cambiando y si es un error o saludable caudal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top