0x783298c7(mfc80ud.dll)处未处理的错误: 0xc000005:读取位置0x0000003a时发生访问冲突
0x783298c7(mfc80ud.dll)处未处理的异常: 0xc000005:读取位置0x0000003a时发生访问冲突
该程序在A机器上运行没有任何问题,在B机器上运行则出现debug错误如下:
0x783298c7(mfc80ud.dll)处未处理的异常: 0xc000005:读取位置0x0000003a时发生访问冲突
出错位置为atlsimpstr.h文件
static CStringData* __cdecl CloneData( __in CStringData* pData )
{
CStringData* pNewData = NULL;
此处为debug出错点-》》》IAtlStringMgr* pNewStringMgr = pData->pStringMgr->Clone();
if( !pData->IsLocked() && (pNewStringMgr == pData->pStringMgr) )
{
pNewData = pData;
pNewData->AddRef();
}
else
{
pNewData = pNewStringMgr->Allocate( pData->nDataLength, sizeof( XCHAR ) );
if( pNewData == NULL )
{
ThrowMemoryException();
}
pNewData->nDataLength = pData->nDataLength;
------解决方案--------------------
多半是pData参数有问题,出错的时候在调试器里面看看pData的值吧,quickwatch一下。
------解决方案--------------------
Debug下,指针等可能没有正确初始化
该程序在A机器上运行没有任何问题,在B机器上运行则出现debug错误如下:
0x783298c7(mfc80ud.dll)处未处理的异常: 0xc000005:读取位置0x0000003a时发生访问冲突
出错位置为atlsimpstr.h文件
static CStringData* __cdecl CloneData( __in CStringData* pData )
{
CStringData* pNewData = NULL;
此处为debug出错点-》》》IAtlStringMgr* pNewStringMgr = pData->pStringMgr->Clone();
if( !pData->IsLocked() && (pNewStringMgr == pData->pStringMgr) )
{
pNewData = pData;
pNewData->AddRef();
}
else
{
pNewData = pNewStringMgr->Allocate( pData->nDataLength, sizeof( XCHAR ) );
if( pNewData == NULL )
{
ThrowMemoryException();
}
pNewData->nDataLength = pData->nDataLength;
------解决方案--------------------
多半是pData参数有问题,出错的时候在调试器里面看看pData的值吧,quickwatch一下。
------解决方案--------------------
Debug下,指针等可能没有正确初始化