Invalid memory access ProcedureReturn/EndProcedure

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
Hyper
Beiträge: 194
Registriert: 19.04.2005 19:14

Beitrag von Hyper »

Neue Erkenntnis:

Ich habe in einer Procedure geändert:

Code: Alles auswählen

Protected l_x.w
zu

Code: Alles auswählen

Protected l_x.l
-> Kein Fehler mehr! Die variable wird übrigends noch nicht mal verwendet - habe zum Test den Rest auskommentiert.

Leider kann ich es im Trivial-Beispiel nicht nachstellen.
-----------
Der Fehler kommt aber auch in Proc, wo nur .b verwendet werden. Ersetze ich durch .l, läuft das durch.

Aber funktionieren tut mein Programm dennoch nicht. Bei einer User-Interaktion ist das Fenster des Programmes weg, der Debugger steht und auch wenn ich Stopp sage, passiert nichts.
PB 5.72
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Tja, ohne Source kann man sich hier natürlich nen Wolf raten...
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Hyper hat geschrieben:@Danilo: Das verstehe ich nicht. Ich benutze doch keine DLLs.
Sorry, bei mir wurde beim lesen ein 'k' rausgefiltert, bevor die
Information weiter in die Tiefen des Gehirns ging... ;)
Also ich greife auf keine DLL zurück
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Little John

Beitrag von Little John »

Hyper hat geschrieben: Neue Erkenntnis:

Ich habe in einer Procedure geändert:

Code: Alles auswählen

Protected l_x.w
zu

Code: Alles auswählen

Protected l_x.l
-> Kein Fehler mehr! Die variable wird übrigends noch nicht mal verwendet
Aber dadurch werden andere Dinge nicht mehr an den selben Speicherplätzen abgelegt wie vorher. Es ist nicht ungewöhnllich, dass in dieser Situation dadurch wieder was anderes unvorhersehbares passiert.

Gruß, Little John
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Schreibst du zufaellig ausserhalb eines gueltigen Speicherbereich ?

ansonten gilt das hier
Benutzeravatar
Hyper
Beiträge: 194
Registriert: 19.04.2005 19:14

Beitrag von Hyper »

@HeX0R: Schon klar, deshalb versuche ich ja schon seit 3 Wochen ein einfaches Beispiel aufzubauen, um den Fehler zu provozieren. Aber es gelingt mir nicht. Und mein 30.000 LOC Programm möchte ich nicht veröffentlichen.

@edel: Ich benutze nur PB + einige APIs + Makros. Das Programm funktionierte mit 4.02 100%ig. Ich verstehe das nicht. Hat keiner ähnliche Probleme?
PB 5.72
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Jetzt kommt`s mir bekannt vor. Dürfte doch ein Bug sein. Ist aber bereits gefixt. Man muss nur auf die nächste Versíon warten.

Code: Alles auswählen

Procedure.l Test() 
  Toast.b 
EndProcedure 

Test()
http://www.purebasic.fr/english/viewtop ... =procedure
Windows 11 - PB 6.03 x64
_________________________________
Little John

Beitrag von Little John »

marco2006 hat geschrieben:Man muss nur auf die nächste Versíon warten.
Hmm ... scheint ja was Grundlegendes zu sein. Warum gibt's eigentlich bei sowas nicht ein Zwischendurch-Update?

Gruß, Little John
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Ich find`s auch schade. Denn man kompiliert ein Programm viel lieber mit einer verbesserten Version.
Ich habe mal versucht eine Antwort zu bekommen:
http://www.purebasic.fr/english/viewtop ... highlight= ...leider ohne Ergebnis.
Windows 11 - PB 6.03 x64
_________________________________
Little John

Beitrag von Little John »

Danke, diese Diskussion kannte ich nicht. Die Reaktionen dort gehen am Thema vorbei ... ich habe in dem engl. Thread jetzt entsprechend geantwortet.

Gruß, Little John
Antworten