Visual Studio已触发断点

时间:2013-06-26 12:47:08

标签: c++ visual-studio qt

似乎断点是由于堆损坏造成的 这是来自调用堆栈的两个帧的快照:

第一:

void QString::free(Data *d) 
{
#ifdef QT3_SUPPORT
    if (d->asciiCache) {
        QMutexLocker locker(asciiCacheMutex());
        Q_ASSERT(asciiCache);
        asciiCache->remove(d);
    }
#endif
    qFree(d);//Breakpoint here, d = 0x08c9efd4 
}

第二:

void qFree(void *ptr)
{
    ::free(ptr); //Breakpoint here, ptr = 0x00000000
}

让我感到困惑的是,指针在传递给0x08c9efd4之前是qFree,在传递给NULL时突然变为qFree

什么可能导致指针突然改变?

0 个答案:

没有答案