Qt GUI停止工作

Qt GUI has stopped working

本文关键字:停止工作 GUI Qt      更新时间:2023-10-16

我正在开发一个Windows应用程序,使用Windows XP机器进行开发。该应用程序在Windows XP上正常运行,没有任何内存泄漏。不过,在Windows 7家庭高级版机器上运行会给我一个问题,但只是偶尔。

我正在开发一个使用OpenCV和OpenGL的Qt应用程序,它只在W7中播放一段时间后从网络摄像头播放视频。错误如下:

Problem signature:
Problem Event Name: APPCRASH
Application Name:   QtRIC.exe
Application Version:    0.0.0.0
Application Timestamp:  4e6ff3a5
Fault Module Name:  MSVCR90.dll
Fault Module Version:   9.0.30729.4940
Fault Module Timestamp: 4ca2ef57
Exception Code: c0000005
Exception Offset:   00024651
OS Version: 6.1.7601.2.1.0.768.3
Locale ID:  1033
Additional Information 1:   0a9e
Additional Information 2:   0a9e372d3b4ad19135b953a78882e789
Additional Information 3:   0a9e
Additional Information 4:   0a9e372d3b4ad19135b953a78882e789

我读过其他问题,表明问题是在Windows注册表,但我不知道如何解决这个问题。在这个版本的Windows 7中,它只是崩溃(有时)。谢谢!

c0000005为Access Violation, 00024651为MSVCR90.dll中的偏移。你得到的是一个偏移量,而不是一个绝对地址,因为你不知道也不关心DLL在内存中的加载位置。MSVCR90.dll的PDB将告诉您该函数是什么。

你可以在XP机器上调试你的程序。检查它是否有相同的DLL,以及加载的位置。(VS中的调试窗口)。然后添加偏移量(它是十六进制),并检查拆卸中的内存地址。假设加载了MSVCR90.dll的PDB, VS将告诉您位于该地址的函数。你可能需要向上滚动一点