无比奇怪的问题,Runtime报错,程序仍可运行(有可能是线程崩溃,但主程序不崩溃,线程崩溃可能是因为锁使用不当引起的)

但主界面仍可操作。

我估计是,线程运行崩溃,不影响主界面的运行(如果你不去点击那个确认错误的对话框的话)。

仔细分析,我估计是使用锁不当引起的。有2种情况下必崩溃:

1. 对没有上锁的锁进行解锁

2. 对已经上锁的锁再次尝试上锁,此时界面卡死,但不崩溃。但毕竟不可能无限等待,除非第一次上锁后代码顺利运行退出并解锁,否则一段时间后必须崩溃。

但是从现场勘查:

ASSERT failure in QList<T>::operator[]: "index out of range", file C:\Qt\Qt5.3.2\5.3\mingw482_32\include/QtCore/qlist.h, line 487

posted @ 2016-04-08 22:47  findumars  Views(659)  Comments(0Edit  收藏  举报