0
當我建立我的項目並運行遊戲時,我總是得到這個錯誤。如果您想修復Visual Studio 2008中f5和ctrl + F5之間的錯誤?
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時,發生錯誤。
代碼可能試圖去引用NULL指針。 –
那麼,參數的值是這樣的。 szName的: 「hole.map」 – bTagTiger
m_pd3dDevice是0x34847302 pAdjacencyBuffer是NULL pD3DXMtrlBuffer是NULL pMesh-> dwNumMaterial爲NULL pMesh-> pMesh爲NULL – bTagTiger