0

当我制作我的游戏时,一切都很好,但突然我在土壤的加载图片上出现了一个奇怪的异常。比赛开始的时候不是这样的,是突然发生的,很诡异。

这里有一张图片: 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.

固定的!多谢!

4

1 回答 1

0

没有什么奇怪的。你有一个运行时错误。可能在您的代码中的某个地方您超出了一些内存,这就是问题表现出来的方式。您需要在代码中找到问题所在。

找到问题的一种方法是使用调试器查看崩溃所在的对象有什么问题。也许那里的指针之一具有无效值。如果这个有垃圾的指针的地址在运行之间是一致的,你可以在它的地址上放一个数据断点,看看,每次你碰到数据断点,谁在改变它,是错误还是正常健康流动。

于 2012-02-22T16:02:16.547 回答