0

当我构建我的项目并运行游戏时,我总是会收到这个错误。

  Unhandled exception at 0x76fb2073 in Screen.exe: 0xC0000005: Access violation writing location 0x00000338 or sometimes 0x00000000.

当我调试这个错误时,我可以看到 free.c 源文件。

......

        else    //  __active_heap == __SYSTEM_HEAP
#endif  /* _WIN64 */
        {
            retval = HeapFree(_crtheap, 0, pBlock);
            **if (retval == 0)                  // Here, error occured**
            {
                errno = _get_errno_from_oserr(GetLastError());
            }
        }
}

……

当我跟踪这个调试路径时,我发现我的 screen.cpp 文件的这一行发生了错误。

if(FAILED(D3DXLoadMeshFromX(szName, D3DXMESH_SYSTEMMEM,
        m_pd3dDevice, &pAdjacencyBuffer,
        &pD3DXMtrlBuffer, NULL, &pMesh->dwNumMaterial,
        &pMesh->pMesh)))

我不知道为什么我运行这个游戏时总是出现这个错误。

需要你的帮助!

哦是的。

我忘记了一件事。

当我按 F5 键运行项目时,无论是在全屏模式还是窗口模式下运行,游戏都运行良好。

只有当我按 Ctrl + F5 时,才会发生错误。

4

1 回答 1

-2

我自己解决了这个问题。我将我的文件构建为调试文件。然后效果很好。

于 2011-12-05T17:24:14.110 回答