我正在开发一个视频处理项目,使用Qt和Opencv以及Windows 7 32位中的Qt Creator IDE。我已经成功地编译和运行了我的代码。 但是当我关闭应用程序的 gui 时,Windows 会弹出一个错误:
MyProgram.exe has stopped working
Problem signature:
Problem Event Name: APPCRASH
Application Name: QtTracker3.exe
Application Version: 0.0.0.0
Application Timestamp: 5107b5da
Fault Module Name: ntdll.dll
Fault Module Version: 6.1.7600.16695
Fault Module Timestamp: 4cc7ab44
Exception Code: c0000005
Exception Offset: 00052073
OS Version: 6.1.7600.2.3.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
我不是专业程序员,我不需要知道发生这种情况是因为我的编程技能差还是其他原因。
代码c0000005
是访问冲突,也称为一般保护错误。程序正在读取或写入不属于虚拟地址空间的地址。一个非常常见的原因是您正在取消引用过时的指针。换句话说,指针曾经有效,但您随后释放了它。稍后当您尝试访问它时,会引发异常。
异常是系统DLL ntdll.dll
出错。这意味着程序中的某些内容正在将无效数据传递给系统 API。
下运行,并让调试器在代码中发生异常的点中断。然后,您可以尝试找出正在访问的内存无效的原因。
这是你可以做的事情,但我们不能。你有代码,我们没有。因此,我们不能为您提供比这更多的帮助。无论如何,没有必要绝望 - 这些问题通常很容易在调试器的帮助下解决。
有时会删除构建目录的内容并尝试再次编译,以确保没有缓存。