bad allocation!



  • Hi!!

    Mir ist eben was ganz neues passiert. Bei der Allokation von ca. 8000 WORDs
    per new wurde eine std::bad_alloc geschmissen.

    bad_alloc::what() ergab "bad allocation" 😮

    Aha! Und was sagt mir das?? 😕

    Mein Speicher kann nicht voll sein - Da ist noch unendlich viel Platz 🙄

    Kann es evtl. damit zusammenhängen, dass ich zuvor schon recht viel Speicher
    reserviere?

    Wenn ich nur 100 oder 1000 WORDs allokiere passiert nichts...

    Wäre für Tipps dankbar 🙂



  • Was verstehst du unter "recht viel"? Wieviel?

    Eventuel fragmentierte Memory?



  • ca. 30 MB

    Was verstehst du unter "fragmentierte Memory"??



  • Ich hab den Speicher zu Testzwecken mal mit malloc statt new allokiert - und
    schon gab es kein Fehler mehr 😕

    Aber das ist natürlich keine Lösung...

    Vielleicht noch einmal allgemeiner gefragt: Woran kann new scheitern, wenn
    nicht an mangelndem Speicher??



  • Nach weiterem debuggen, bin ich noch an diese Meldung gekommen

    HEAP[FDX Engine.exe]: Heap missing last entry in committed range near 10b1fd0
    

    Kann damit jemand was anfangen?

    // Edit: google sagt, dass obige Meldung dadurch enstehen kann, dass es bei
    vorherigen Allokationen zu overflows kam.... jetzt geht das gesuche los 😞



  • Ich hab die Lösung: Ich hatte tatsächlich bei dem davor allokierten Speicher
    einen Overflow erzeugt 😡


Anmelden zum Antworten