我遇到了类似帖子的奇怪的stackoverflow崩溃: here
QMutex试图以递归方式锁定自身然后导致崩溃...... 调用堆栈是这样的:
...(more repeat)
Qt5Cored.dll!QBasicMutex::lockInternal(int timeout) Line 428
Qt5Cored.dll!QBasicMutex::lockInternal() Line 409
Qt5Cored.dll!QMutex::lock() Line 218
Qt5Cored.dll!QMutexLocker::QMutexLocker(QBasicMutex * m) Line 129
Qt5Cored.dll!A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction() Line 566
Qt5Cored.dll!QGlobalStatic<QFreeList<QMutexPrivate,`anonymous namespace'::FreeListConstants>,&A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction,A0x3737355e::A0x3737355e::Q_QGS_freelist::guard>::operator()() Line 129
Qt5Cored.dll!QMutexPrivate::allocate() Line 571
Qt5Cored.dll!QBasicMutex::lockInternal(int timeout) Line 428
Qt5Cored.dll!QBasicMutex::lockInternal() Line 409
Qt5Cored.dll!QMutex::lock() Line 218
Qt5Cored.dll!QMutexLocker::QMutexLocker(QBasicMutex * m) Line 129
Qt5Cored.dll!A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction() Line 566
Qt5Cored.dll!QGlobalStatic<QFreeList<QMutexPrivate,`anonymous namespace'::FreeListConstants>,&A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction,A0x3737355e::A0x3737355e::Q_QGS_freelist::guard>::operator()() Line 129
Qt5Cored.dll!QMutexPrivate::allocate() Line 571
Qt5Cored.dll!QBasicMutex::lockInternal(int timeout) Line 428
Qt5Cored.dll!QBasicMutex::lockInternal() Line 409
Qt5Cored.dll!QMutex::lock() Line 218
Qt5Cored.dll!QMutexLocker::QMutexLocker(QBasicMutex * m) Line 129
Qt5Cored.dll!A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction() Line 566
Qt5Cored.dll!QGlobalStatic<QFreeList<QMutexPrivate,`anonymous namespace'::FreeListConstants>,&A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction,A0x3737355e::A0x3737355e::Q_QGS_freelist::guard>::operator()() Line 129
Qt5Cored.dll!QMutexPrivate::allocate() Line 571
The maximum number of stack frames supported by Visual Studio has been exceeded.
我在Windows 8.1系统上使用qt 5.4.1。
由于已超出调用堆栈的最大帧数,我如何检查哪个函数/调用启动此无限递归?