2017-02-03 3 views
-1

저는 C++ OpenGl을 배우려고합니다.nvoglv32.dll 찾을 수 없거나 PDB 파일을 열 수 없습니다.

Exception thrown at 0x03FA98B0 (nvoglv32.dll) in Inspire.exe: 0xC0000005: Access violation reading location 0x00000000. 

을하고는 "nvoglv.pbd"를 찾을 수 없습니다 것을 : 난 그냥 실 거예요 작업과 모든 시간을 내 프로그램을 shadering 작업을 시작했을 때

지금 내가 말하는 메시지가 시작합니다. 모든 그래픽 드라이버를 최신 상태로 유지합니다.

전체 코드 : https://github.com/Jrp0h/Inspire-Engine

난 정말 여기에 모든 코드를 게시 기운, 그것은 긴 할 것입니다.

임 그냥 튜토리얼을 다음과 그것을 가지고 문제에서이 비디오에 있었다 : https://www.youtube.com/watch?v=mU80e0eMLjc&index=11&list=PLSPw4ASQYyymu3PfG9gxywSPghnSMiOAW

모든 도움에 감사드립니다!

편집 : 오타

+0

그런 종류의 오류는 값이 0 인 포인터 또는 함수 포인터가 있음을 의미합니다. 해당 포인터를 찾기 위해 디버거를 사용하십시오. – Ripi2

답변

0

PDB 파일은 참조하고 종종 일부 소스 코드를 특정 코드 모듈의 상징의 자세한 목록이 포함되어 있습니다. nvoglv*.dll은 폐쇄 소스 인 Nvidia의 OpenGL 구현입니다. Nvidia 드라이버 개발자는 이며 사람 만 PDB 파일에 액세스 할 수 있습니다.

프로그램이 컴퓨터에 충돌하여 nvogl32v.dll이 발생했다고해서 문제가 nvogl32v.dll에있는 것은 아닙니다. 즉, 잘못된 포인터를 OpenGL에 전달했거나 포인터가 가리키는 버퍼에 대한 잘못된 정보를 제공했다는 것입니다. 그런 다음 Nvidia의 OpenGL 드라이버가 버퍼에 액세스하려고하면 정보가 올바른 것으로 프로그램을 신뢰해야합니다. 올바르지 않으면 프로그램이 중단됩니다.

그런 상황이 발생하면 디버거에서 역 추적을 얻습니다 (디버거에서 실행하는 경우). 코드에없는 백 트레이스의 모든 단계를 무시하십시오. 문제가있는 부분은 코드에서만 확인하십시오.