memory check error at 0x08781F1F = 0xFF, should be 0xFD.
-
Hallo Forum,
kann mir jemand vielleicht genaueres über diesen Fehler sagen???
Er tritt immer dann auf wenn ich ein Object von Typ CObject aus einer CMapStringToOb Variable löschen möchte???
Ich benutze eine Suchfunktion um in Dateien zu suchen, das Ergebniss wird in eine
Variable von Typ CObject gespeichert, diese dann wieder in eine CMapStringToOb Variable gespeichert.
Wenn ich diese Funktion deaktiviere, sondern die standard CString-Suchfunktionen verwende gibt es keine Probleme!
**PROBLEM FEHLERMELDUNG: memory check error at 0x08781F1F = 0xFF, should be 0xFD.
**
Hier die Stelle die Probleme macht:[cpp] // im header.h class CMyObject:public CObject { // Variablen.... CString csErgebniss; ..... } // im *.cpp /* die Suchfunktion liefert den gesuchten String wenn vorhanden, wenn nicht dann einen leeren String*/ csErgebniss = GetString(csQuell, csSuchbegriff/*, bCaseSensitive=FALSE*/); .......... for(iPos = cMap.GetStartPosition(); iPos != NULL;) { CMyObject* cObject; cMap.GetNextAssoc(iPos, csTmp, (CObject*&)cObject); delete cResultObject; // hier ist die Problemstelle, wenn ich die standard Funktionen von CString benutze ist alles ok, //aber so nicht cMap.RemoveKey(csTmp); } // dann springt der Debugger hier rein: if (!CheckBytes(pbData(pHead) + pHead->nDataSize, _bNoMansLandFill, nNoMansLandSize)) _RPT3(_CRT_ERROR, "DAMAGE: after %hs block (#%d) at 0x%08X.\n", szBlockUseName[_BLOCK_TYPE(pHead->nBlockUse)], pHead->lRequest, (BYTE *) pbData(pHead)); [/cpp]Ich kann mir leider nicht weiter helfen, ich kann in der Suchfunktion nichts ungewöhnliches finden, hat jemand eine Idee??
danke
pixel
-
Das heisst einfach, dass Du in diesem Speicherbereich den Speicher überschrieben hast (also mehr Daten geschrieben hast, als Du reserviret hast)
-
Hallo Jochen,
vielen dank für deine Antowort, und die ist richtig, ich hab auch gefunden wo!
*schwitz*mfg
pixel