使用Qt gui编写了一个c++程序,运行一段时间就报异常退出,非常困惑

使用了QHttp,不定期去服务器获取信息,程序运行几十分钟到一个小时不等,就弹出程序异常错误,被系统终止了,eclipse 控制台报告:QWaitCondition: Destroyed while threads are still waitingQObject::killTimers: timers cannot be stopped from another threadASSERT failure in QMutex::lock: "Internal error, infinite wait has timed out.", file thread\qmutex.cpp, line 169This application has requested the Runtime to terminate it in an unusual way.Please contact the application's support team for more information. 能想到的地方都修改测试了,问题依然,崩溃中!现在怀疑是QHttp的bug,只要把http请求关闭,程序运行多长时间也不退出。Qt4.5,现在换成Qt4.6了现象依旧。

第1个回答  2012-08-12
目测是里边你想销毁另外一个线程里的定时器造成的。请检查。
另外锁Mutex在等待的时候,被定时器中断也是一个可能。本回答被网友采纳
第2个回答  2012-08-16
你这个问题不好改,是你学习的时候没有注意到:
QT的手册里面写了:
每一个QObject(所有的界面及元素)仅在它所在的线程中生存。
所以估计你是在界面中建立了QHttp,然后会导致此错误,无法修正,因为一开始就错了。
不允许在界面中这样做!
第3个回答  2012-08-04
infinite wait has timed out.
相似回答