我的Qt程序(g ++ 4.4.0)给了我Microsoft Visual C ++运行时库错误“当我关闭它时,此应用程序已请求运行时以不寻常的方式终止它”。但是当我在调试器中运行它时,我没有收到错误消息。有人知道如何获得有关崩溃的一些信息吗?消息框只有一个确定按钮。
编辑添加:按照Wimmel的建议,我附加了调试器。有两个线程处于活动状态,ThreadID为1和3.堆栈如下所示:
Level Function File Line Address
0 VTagOutput C:\Windows\syswow64\user32.dll 0 0x7529438d
1 VTagOutput C:\Windows\syswow64\user32.dll 0 0x7529438d
2 USER32!EmptyClipboard C:\Windows\syswow64\user32.dll 0 0x752a2674
3 ?? 0
Level Function File Line Address
0 ntdll!LdrFindResource_U C:\Windows\SysWOW64\ntdll.dll 0 0x76f5000d
1 ntdll!LdrSetAppCompatDllRedirectionCallback C:\Windows\SysWOW64\ntdll.dll 0 0x76fdfabe
2 ?? 0 0x7b9609b5
3 ?? 0
也许第二个线程正在显示错误消息?第一个有点奇怪:前两行是相同的。我的代码中没有任何名称中包含TagOutput
的内容,而且就我所知,Qt也没有。
答案 0 :(得分:3)
我唯一一次看到Qt的错误消息是我第一次尝试设置Qt开发环境并安装了许多不同版本的MinGW。似乎我的可执行文件正在查找并加载一个与其他所有内容不一致的mingwm10.dll
版本。我追捕并删除了那个dll的所有版本,除了我想要的版本,问题就消失了。
答案 1 :(得分:0)
使用procmon.exe并过滤进程名称和文件访问权限以查找缺少的依赖项。
我和Qt 5.0.1有同样的问题。
该计划遗漏了Qt框架中的一些dll
我在目录中找到了它们:
<QTINSTALLDIR>\Qt5.0.1\5.0.1\mingw47_32\plugins