如果你想在Visual Studio 2008上修复f5和ctrl + F5之间的错误?

时间:2011-11-23 12:10:08

标签: memory directx stack-overflow directx-9 directx-10

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

  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时,才会发生错误。

1 个答案:

答案 0 :(得分:-2)

我自己解决了这个问题。 我将我的文件构建为调试文件。 然后它运作良好。