Qt 4.8.4退出时Windows Vista上的应用程序崩溃

Qt 4.8.4退出时Windows Vista上的应用程序崩溃,qt,windows-vista,stack-trace,segmentation-fault,Qt,Windows Vista,Stack Trace,Segmentation Fault,我有一个Qt应用程序,在Windows Vista机器上退出时会间歇性崩溃(它在Mac和Windows XP上运行良好,需要在其他Windows版本上尝试更多)。我在退出时进行QApplication清理,并在崩溃时获得以下堆栈跟踪。如果有人知道我可能做错了什么,请告诉我 Program received signal SIGSEGV, Segmentation fault. [Switching to thread 876.0x15f0] 0x69dfb912 in QEventDispatc

我有一个Qt应用程序,在Windows Vista机器上退出时会间歇性崩溃(它在Mac和Windows XP上运行良好,需要在其他Windows版本上尝试更多)。我在退出时进行QApplication清理,并在崩溃时获得以下堆栈跟踪。如果有人知道我可能做错了什么,请告诉我

Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 876.0x15f0]
0x69dfb912 in QEventDispatcherWin32Private::unregisterTimer (this=0x14cdf9b8,
t=0x1a1f6868, closingDown=true) at kernel/qeventdispatcher_win.cpp:620
(gdb) bt
#0  0x69dfb912 in QEventDispatcherWin32Private::unregisterTimer (
    this=0x14cdf9b8, t=0x1a1f6868, closingDown=true)
    at kernel/qeventdispatcher_win.cpp:620
#1  0x69dfd479 in QEventDispatcherWin32::closingDown (this=0x14cdf998)
    at kernel/qeventdispatcher_win.cpp:1115
#2  0x69cd7ff2 in QThreadPrivate::finish (arg=0x14cddb48, lockAnyway=true)
    at thread/qthread_win.cpp:376
#3  0x69cd7ec8 in QThreadPrivate::start (arg=0x14cddb48)
    at thread/qthread_win.cpp:348
#4  0x766f2599 in wcstombs () from C:\Windows\system32\msvcrt.dll
#5  0x766f26b3 in msvcrt!_beginthreadex () from C:\Windows\system32\msvcrt.dll
#6  0x7624d309 in KERNEL32!AcquireSRWLockExclusive ()
    from C:\Windows\system32\kernel32.dll
#7  0x774b16c3 in ntdll!RtlInitializeNtUserPfn ()
    from C:\Windows\system32\ntdll.dll
#8  0x774b1696 in ntdll!RtlInitializeNtUserPfn ()
    from C:\Windows\system32\ntdll.dll
#9  0x00000000 in ?? () 

你有使用定时器的线程吗?如果您提供应用程序的调试输出,这也会很有帮助。您是否主动删除了交给Qt处理的任何对象?Qt拥有您传递给它的大多数元素的所有权(即小部件子项等)。另一个原因可能是指针未初始化。是的,我正在其他线程中使用计时器。但我在线结束前把它们清理干净。但我没有看到任何调试/致命/警告消息(通过qDebug或类似工具)被打印出来。