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