当我构建我的项目并运行游戏时,我总是会收到这个错误。
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 时,才会发生错误。