我正在尝试学习C ++ OpenGl。
现在,当我开始研磨我的程序时,我不会工作,每次我启动它时都会收到消息说:
Exception thrown at 0x03FA98B0 (nvoglv32.dll) in Inspire.exe: 0xC0000005: Access violation reading location 0x00000000.
并且它无法找到" nvoglv.pbd"。 我的所有图形驱动程序都是最新的。
整个代码:https://github.com/Jrp0h/Inspire-Engine
我真的不能在这里发布所有代码,它会很长。
我正在关注一个教程,就在这个视频中遇到了问题:https://www.youtube.com/watch?v=mU80e0eMLjc&index=11&list=PLSPw4ASQYyymu3PfG9gxywSPghnSMiOAW
非常感谢所有帮助!
编辑:错字
答案 0 :(得分:0)
PDB文件包含它们所引用的特定代码模块的符号的详细列表,并且通常还包含一些源代码。 nvoglv*.dll
是Nvidia的OpenGL实现,它是封闭源代码。 Nvidia驱动程序开发人员是仅人员,可以访问PDB文件。
您的程序在nvogl32v.dll
崩溃并不意味着问题位于nvogl32v.dll
。意思是,你将一些无效指针传递给OpenGL,或者给出了关于指针所指向的缓冲区的错误信息。当Nvidia的OpenGL驱动程序随后尝试访问缓冲区时,它必须信任您的程序信息是否正确。如果不正确,程序会崩溃。
当发生这种情况时,您将从调试器获得回溯(如果您在调试器中运行它)。忽略回溯中不在代码中的每一步。只关注你的代码,问题出在哪里。