?
Hallo zusammen!
Ich schreibe an einem Bildverarbeitungsprogramm und habe das Problem, dass dieses in den Varianten
- in Debug-Version aus VS gestartet
- in Release-Version aus VS gestartet
- in Debug-Version direkt als .exe gestartet
einwandfrei läuft. Lediglich in der Variante " in Release direkt als .exe gestartet" stürzt es mit einem Read-Error, also einer Speicherschutzverletzung, ab. Der Zeitpunkt/die Stelle des Fehlers wechselt nicht reproduzierbar.
Ich hatte zuerst an eine RaceCondition gedacht, da ja die problematische Konstellation die schnellste Variante ist. So dachte ich, dass Threads bei zu hoher Geschwindigkeit durcheinanderkommen. Ein Test, in dem ich jegliche Speicherzugriffe nur aus einem Thread tätigen lasse, hat gezeigt, dass es wohl damit nichts zu tun haben kann.
Nun ist die Frage, woran kann es liegen? Welche Unterschiede gibt es denn noch zwischen dem Starten direkt aus dem VS und dem Starten der .exe?
Ich habe mal davon gehört, dass die VS ihre Programme in einer Art Sandbox laufen lässt. Schützt diese vielleicht vor Speicherschutzverletzungen ohne irgendwie zu meckern?
Für jegliche Hilfe wäre ich sehr dankbar. Besonders auch zu Hinweisen oder Links zu den Unterschieden beim unterschiedlichen Ausführen.
Grüße,
Cai