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 mehrAber 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