Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge

new operator in VC++ 5.0 produziert Schutzverletzung in Kernel

(Anonym) / 5 Antworten / Flachansicht Nickles

wenn ich mit new ein Feld (Größe ~3600) Einträge (a 32 Byte) beantrage geht das beim ersten mal gut. Später brauche ich ein zweites Feld(~7100 Einträge a 32 Byte). Compile, Link, Build alles kein Problem. Bei der Ausführung bricht er jedoch, genau bei der Speicherreservierung ab. Der Aufruf-Stack ist von new über malloc bis in die KERNEL vorgedrungen und dann geht nix mehr.
"Unhandled Exception in ... (KERNEL32.DLL) 0x0000005 Access Violation"

int i = 3600;
Point* t;
t = new Point[i];
...
i = 7100;
Point* g;
g = new Point[i]; // hier passierts

Speicher hab ich noch genug (mit GlobalMemoryStatus getestet)
kann mir jemand helfen? Welche gründe kann eine Access Violation haben?

Danke fürs lesen,
Dreamforger

bei Antwort benachrichtigen
Dreamforger thomas woelfer „was mich irritiert ist das du eine gp fault bekommst... beim drueber nachdenken...“
Optionen

Ok der Fehler ist jetzt behoben. Der Fehler war im "Allee-Problem" - ich hab den "Baum" am Ende der Strasse vergessen ;-)

Ich finds dennoch erstaunlich war für extreme Fehler man dadurch bekommen kann....

Danke nochmal für den Beistand

Dreamforger

WM_QUIT

bei Antwort benachrichtigen