2011-11-23 28 views
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時,發生錯誤。

+0

代碼可能試圖去引用NULL指針。 –

+0

那麼,參數的值是這樣的。 szName的: 「hole.map」 – bTagTiger

+0

m_pd3dDevice是0x34847302 pAdjacencyBuffer是NULL pD3DXMtrlBuffer是NULL pMesh-> dwNumMaterial爲NULL pMesh-> pMesh爲NULL – bTagTiger

回答

-2

我已經解決了這個問題我的自我。 我構建我的文件作爲調試文件。 然後它運作良好。

相關問題