Database server crasht

05/15/2013 00:40 xMetrickZ#1
template <class T> void CItemContainer<T>::Serialize( CAr & ar )
{
// for( int i = 0; i < m_dwItemMax; i++ ) // 462
// m_apItem[i].Serialize( ar );
DWORD adwObjIndex[128];

unsigned char chSize = 0;

if( ar.IsStoring() )
{

ar.Write( m_apIndex, sizeof(DWORD) * m_dwItemMax );
u_long uOffset = ar.GetOffset();
ar << chSize;

for( u_char ch = 0; ch < m_dwItemMax; ch++ ) // 0-504
{
if( m_apItem[ch].IsEmpty() == FALSE )
{
ar << ch;
m_apItem[ch].Serialize( ar );
chSize++;
}
adwObjIndex[ch] = m_apItem[ch].m_dwObjIndex;
}

ar.Write( adwObjIndex, sizeof(DWORD) * m_dwItemMax );

int nBufSize;
LPBYTE lpBuf = ar.GetBuffer( &nBufSize );
*( lpBuf + uOffset ) = chSize;
}
else
{
ar.Read( m_apIndex, sizeof(DWORD) * m_dwItemMax );
// Clear
for( u_int i = 0; i < m_dwItemMax; i++ )
m_apItem[i].Empty();

ar >> chSize;

unsigned char ch;
for( i = 0; i < chSize; i++ )
{
ar >> ch;
m_apItem[ch].Serialize( ar );
}

ar.Read( adwObjIndex, sizeof(DWORD) * m_dwItemMax );
for( i = 0; i < m_dwItemMax; i++ )
{
m_apItem[i].m_dwObjIndex = adwObjIndex[i];
}
}
}



er crasht an der Rot makierten Stelle und ich weiß absolut nicht warum villeicht kann mir ja hier einer helfen
05/15/2013 06:18 xTwiLightx#2
Wenn du den Debugger laufen lässt und dort nen Break setzt, kannst du den Inhalt auslesen (evtl Strings von nem Itemnamen oder sowas).
05/15/2013 12:31 Apozen.#3
Überprüf mal die Items die du zuletzt geaddet hast
05/20/2013 09:12 xMetrickZ#4
sooo habe mal break gemacht und an kam das

m_dwFlag=0x00000000, nId=531, tStart=0, tEnd=0, t=1368972349, nFlag=-2147483648m_dwFlag=0x00000000, nId=501, tStart=1238745600, tEnd=1240869600, t=1368972349, nFlag=2m_dwFlag=0x00000000, nId=502, tStart=1238745600, tEnd=1240869600, t=1368972349, nFlag=4
T: CCoupleHelper.OnTimer
DATABASESERVER.EXE // PACKETTYPE_JOIN // 2972
DATABASESERVER.EXE // JOIN_0 // 2972
DATABASESERVER.EXE // JOIN_1 // 2972
m_dwFlag=0x00000000, nId=531, tStart=0, tEnd=0, t=1368972409, nFlag=-2147483648m_dwFlag=0x00000000, nId=501, tStart=1238745600, tEnd=1240869600, t=1368972409, nFlag=2m_dwFlag=0x00000000, nId=502, tStart=1238745600, tEnd=1240869600, t=1368972409, nFlag=4
CDPTrans.OnQueryAddCoupleExperience

T: CCoupleHelper.OnAddExperience: 97, 1
First-chance exception at 0x00427e6e in 2-DatabaseServer.exe: 0xC0000005: Access violation reading location 0xbaadf019.
Unhandled exception at 0x00427e6e in 2-DatabaseServer.exe: 0xC0000005: Access violation reading location 0xbaadf019.