Crash bei delete
-
Hallo folgender Code stürzt bei mir bei delete ab:
char* winstring; winstring=new char[4]; delete[]winstring;folgender Code stürzt NICHT ab:
char* winstring; winstring=new char[5]; delete[]winstring;hat jemand eine Ahnung, warum? Gibts da eine Begrenzung? Übrigends stürzt alles kleiner gleich Größe 4 ab.
MfG
Zauberspiegel
-
Steht das wirklich so in deinem Programm? Oder hast du zwischen dem new und delete noch etwas anderes mit deinen Daten gemacht?
(Erklärung: new/delete sollten eigentlich nur abstürzen, wenn du ihnen die Steuerdaten zerschießt. Deshalb vermute ich, daß der Fehler irgendwo zwischen den gezeigten Code-Ausschnitten liegt.)
-
Es steht genau so in dem Programm! Habe extra eine Testprozedur geschrieben, wie oben. Es steht nichts dazwischen!
-
Dann hast du dir vermutlich irgendwann vorher bereits den Heap zerschossen, möglicherweise mit einer Bereichsüberschreitung in einem Array.
-
Danke für die Info! Den Fehler habe ich eingrenzen können; und es scheint tatsächlich eine Überschreitung im Heap gewesen zu sein!