块传输环路中的 SDL Seg 故障



好的,所以我有这段代码,它只是遍历我的对象数组,对需要被块传输的内容进行分组:

void Render()
{
    for(int Index = 0; Index < MAX_OBJECT_INSTANCES; Index++)
    {
        if(Game::ObjectArray[Index].IsActive() == false){}
        else
        {
            if(Game::ObjectArray[Index].IsHidden() == false)
            {
                SDL_BlitSurface(Game::ObjectArray[Index].CurrentSprite, NULL, Buffer::Screen, &Game::ObjectArray[Index].Position);
            }
        }
    }
}

我查看了调用堆栈,发现:

0x681247d8  SDL_UpperBlit

我不知道如何解决这个问题。我还应该注意的是,我使用的是 SDL 混合器和 SDL 映像。

  1. 在调试器中运行代码。
  2. 步入SDL_BlitSurface()通话。
  3. 验证参数是否正确。
  4. 继续步进,看看是什么导致了分段错误。

我怀疑一个或多个论点是错误的/无效的。

相关内容

  • 没有找到相关文章

最新更新