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!


Anmelden zum Antworten