我正在使用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
我不是一名专业程序员,我不需要知道是否因为编程技巧不佳而发生这种情况。
答案 0 :(得分:3)
异常代码c0000005
是一种访问冲突,也称为一般保护错误。程序正在读取或写入不属于虚拟地址空间的地址。一个非常常见的原因是您正在取消引用过时的指针。换句话说,指针曾经有效,但您随后将其释放。然后,当您尝试访问它时,会引发异常。
异常是ntdll.dll
的错误,这是一个系统DLL。这意味着程序中的某些内容将无效数据传递给系统API。
为了解决这个问题,您可能需要在调试器下运行,让调试器在发生异常的代码中断点。然后,您可以尝试找出被访问的内存无效的原因。
这是你可以做的事情,但我们做不到。你有代码,我们没有。所以,我们不能给你任何比这更多的帮助。在任何情况下,都没有必要绝望 - 这些问题通常很容易在调试器的帮助下解决。
答案 1 :(得分:0)
有时删除构建目录的内容并尝试再次编译,以确保没有任何缓存。