[GELÖST?] EXCEPTION_ACCESS_VIOLATION - Neueste Version?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

CO2

ehemals "SirMO"

Betreff: [GELÖST?] EXCEPTION_ACCESS_VIOLATION - Neueste Version?

BeitragDo, Okt 15, 2015 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich bin durch Zufall über einen Bug(?) in der neuesten BMax-Version gestolpert: Kompiliere ich mein Programm im Debug-Modus geht alles Fehlerfrei; Kompiliere ich es jedoch im "Release"-Modus, dann bekomme ich die o.g. Exception... Ich habe die Spur soweit zurückverfolgt, dass ich sagen kann, dass es an einem Array-Zugriff liegt, kann aber aufgrund der Größe des Codes diesen hier nicht posten. Zudem scheint es "zufällig" zu passieren, mal nach 4 Zugriffen, mal nach 95... Alles in Allem sehr seltsam.
Hat irgendwer Erfahrung damit und kann mir sagen, was ich tun muss, damit die Exception behoben werden kann (Wenn es geht ohne Try-Catch, denn das scheint wie gesagt zufällig zu passieren und ich weiß nicht, was das Ergebnis wäre, sollte ich Try-Catch nutzen)? Alternativ was die Exception beim Array-Zugriff auslösen könnte?

EDIT: Habe gerade trotzdem mal ge-try-catched und das Ergebnis sieht nicht anders aus als wenn der Fehler nicht auftritt... Seltsam, seltsam. Nichtsdestotrotz würde ich eine Lösung ohne Try-Catch bevorzugen...

EDIT2: Irgendwie scheint es jetzt doch zu gehen... Try-Catch rausgenommen, neu kompliert: Alles wieder gut...
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

DAK

BeitragFr, Okt 16, 2015 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Klingt mir, als ob das Array kleiner wäre als der Index, kann das sein? In diesem Fall würdest du über den Speicherbereich des Arrays hinausschreiben, und wenn du Pech hast, irgendwas Wichtiges überschreiben, was dir dann diesen Crash gibt.
Gewinner der 6. und der 68. BlitzCodeCompo
 

CO2

ehemals "SirMO"

BeitragFr, Okt 16, 2015 23:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

irgendwie sowas würde ich mir denken, aber es ist schon interessant, dass die Exception nur dann auftritt, wenn ich im Release-Modus kompiliere, jedoch nicht, wenn ich im Debug-Modus kompiliere...
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

Tennisball

BeitragSa, Okt 17, 2015 1:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Das was DAK beschreibt gab es mal in B3D, jedoch war es da mit Debug- und Release-Modus genau umgekehrt.

Thunder

BeitragSa, Okt 17, 2015 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du Mal geprüft, ob die Werte außerhalb des Bereichs liegen?
BlitzMax macht im Debug-Modus einiges mehr, da werden Funktionen aufgerufen, Zeug initialisiert - es kann wirklich einen Bug geben, der damit zusammenhängt. Gibt es das Problem wirklich nur in der neuesten Version?

Möglicherweise ließe sich was im Assemblercode herausfinden.
Hast du schon versucht, ein kleineres Programm zu schreiben, dass dieselbe Funktion irgendwie verwendet, wo dann der Fehler auch auftritt?
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group