VS+glfw编写openGL例子程序报错 0x59789958 (igd10iumd32.dll) 处有未经处理的异常解决思路
环境:
Win10 x64
VS 2013
glfw版本3.2.1
情况1
Intel HD Graphics 4000
软件内查到版本:10.18.10.4252
官网名称:15.33.47.5059
nVidia GeForce 625M
版本391.35
结果:
Intel显卡下可以正常调试,打开。
nVidia下调试卡在wglMakeCurrent(NULL,NULL)一句,即便以前编译的程序都无法运行,一样会卡住。
但是游戏都能正常运行。
情况2
卸载nVidia驱动后,Intel表现正常。
情况3
dell驱动官网下载 Video_Driver_D3DCY_WN32_10.18.13.5324_A00.exe 安装。
驱动显示版本为v10.18.13.5324
装完后,
Intel
显示版本和之前一样:10.18.10.4252
nVidia
版本:353.24
结果:
Intel显卡下可以正常调试。
nVidia下调试报错 0x59789958 (igd10iumd32.dll) (1_hello_triangle.exe 中)处有未经处理的异常: 0xC0000005: 写入位置 0x77AD2156 时发生访问冲突。
但编译后的程序可以单独用nVidia运行。
结论
调试opgnGL程序高度依赖显卡驱动,nVidia驱动更新最新版后,不知为何卡在glfw里的wglMakeCurrent(NULL,NULL)一句,且之前编译的程序也不能运行。
nVidia驱动回退后,可以运行编译后的程序,但在nVidia下调试时却报错,而且报错内容是显示intel的dll出错,问题十分古怪。