程序退出后总是错误中断,调试定位在:
inline void* CThreadSlotData::GetThreadValue(int nSlot)
{
ASSERT(nSlot != 0 && nSlot < m_nMax);
ASSERT(m_pSlotData != NULL);
ASSERT(m_pSlotData[nSlot].dwFlags & SLOT_USED);
ASSERT(m_tlsIndex != (DWORD)-1);
CThreadData* pData = (CThreadData*)TlsGetValue(m_tlsIndex);
if (pData == NULL || nSlot >= pData->nCount)
return NULL;
return pData->pData[nSlot];
}
错误出在:ASSERT(m_pSlotData[nSlot].dwFlags & SLOT_USED);
解决方案:1.局部变量没有初始化 2.在静态库里面使用MFC