问题标签 [openinventor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2012 - 什么会导致 MFC OpenInventor 程序在 nvwgf2umx.dll 内冻结
我目前正面临着我年轻的开发人员职业生涯中最艰难的错误追逐。我们提供的软件仅在公司内部有数百个用户/计算机使用,但只有一个软件不起作用。有问题的程序基于 MFC,并使用OpenInventor进行 3D 可视化。
当用户启动软件并创建新文件时,会在内部创建一个新的CDocument连接到使用/显示SoWinFullViewer的视图。用户可以看到 MFC 视图的框架已创建,但未显示SoWinFullViewer。在这种状态下,整个应用程序冻结。
我无法在我的开发机器或任何其他计算机上重现该问题。为了调试,我在有问题的计算机上部署了一个调试版本。但是调试版本运行良好。所以我部署了一个带有调试符号的发布版本,并使用了 Visual Studio 中的远程调试器。当我通过远程调试器开始发布构建时,一切正常。如果我首先在有问题的计算机上手动启动程序,然后通过远程调试器附加该进程,然后创建新文件,程序就会冻结。暂停程序后,调试器始终位于nvwgf2umx.dll的线程中。
我预计 GPU 驱动程序会出现问题,因此我让 IT 重新安装了 GPU 驱动程序。问题一直存在。我现在看到的唯一选择是让 IT 重新安装整个系统——祈祷这能解决问题。
我可以做些什么来进一步调试?什么会导致应用程序在nvwgf2umx.dll内冻结?
根据评论,我提取了一个转储并使用 WinDbg 对其进行了分析。这是结果
!分析-v:
这告诉我nvoglv64.dll中的断点被命中。堆栈文本仅显示外部代码。是什么原因造成的?
结果
!locks -v:
~*kvn