Das mit dem Debugger getestete Executable endete unerwartet
Das mit dem Debugger getestete Executable endete unerwartet
Hallo,
ich habe neuerdings diesen tollen Fehler unregelmäßig aller paar Minuten.
Irgendwelche AllocMem-Operationen haben ich nicht, irgendetwas anderes scheint aber regelmäßig zum Absturz zu führen.
Leider sehe ich im Debugger nicht wo zuletzt das Programm war...
Wie gehe ich da jetzt vor um den Fehler zu finden?
Danke!
ich habe neuerdings diesen tollen Fehler unregelmäßig aller paar Minuten.
Irgendwelche AllocMem-Operationen haben ich nicht, irgendetwas anderes scheint aber regelmäßig zum Absturz zu führen.
Leider sehe ich im Debugger nicht wo zuletzt das Programm war...
Wie gehe ich da jetzt vor um den Fehler zu finden?
Danke!
PB 6.02 LTS + Win 11
Re: Das mit dem Debugger getestete Executable endete unerwar
Wenn du den Fehler nicht mit dem Debugger per Step-to-Step nachvollziehen kannst, dann musst du deinen Code rückwärts auskommentieren. D.h. bestimmte Stellen kommentierst du aus und machst so lange, bis der Fehler nicht mehr auftritt.
\\Edit:
Vielleicht hilft dir OnError weiter? Einfach die Compiler-Option aktivieren, die OnError-Prozedur einbinden und ohne Debugger starten. Damit sollte der Fehler eigentlich abfangbar sein.
\\Edit2:
Tritt der Absturzfehler nur bei einer Anwendung auf oder bei allen? Falls zweiteres, dann teste es mal mit deaktivierter Antivirensoftware.
\\Edit:
Vielleicht hilft dir OnError weiter? Einfach die Compiler-Option aktivieren, die OnError-Prozedur einbinden und ohne Debugger starten. Damit sollte der Fehler eigentlich abfangbar sein.
\\Edit2:
Tritt der Absturzfehler nur bei einer Anwendung auf oder bei allen? Falls zweiteres, dann teste es mal mit deaktivierter Antivirensoftware.
Re: Das mit dem Debugger getestete Executable endete unerwar
Verwendest du vielleicht irgendwelche externe DLLs?
Re: Das mit dem Debugger getestete Executable endete unerwar
Mögliche Ursachen:
- Threads mit Strings ohne Compiler-Option Threadsafe
- API Aufrufe mit fehlerhaften Parameters
- Blödes update von Anti-Viren-Software
- Threads mit Strings ohne Compiler-Option Threadsafe
- API Aufrufe mit fehlerhaften Parameters
- Blödes update von Anti-Viren-Software
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Das mit dem Debugger getestete Executable endete unerwar
Leider tritt es ja nur sporadisch auf, aber ist auskommentieren die beste Wahl?RSBasic hat geschrieben:Wenn du den Fehler nicht mit dem Debugger per Step-to-Step nachvollziehen kannst, dann musst du deinen Code rückwärts auskommentieren. D.h. bestimmte Stellen kommentierst du aus und machst so lange, bis der Fehler nicht mehr auftritt.
Vielleicht lieber bei potentiellen "Absturzzeilen" per Debug eine Info ausgeben und gucken WO er immer ungefähr abschmiert?
Hab ich eingebaut, bei der Exe schmiert das Programm lautlos ab (beendet sich OHNE Messagebox):RSBasic hat geschrieben: \\Edit:
Vielleicht hilft dir OnError weiter? Einfach die Compiler-Option aktivieren, die OnError-Prozedur einbinden und ohne Debugger starten. Damit sollte der Fehler eigentlich abfangbar sein.
Code: Alles auswählen
Procedure ErrorHandler()
MessageRequester("OnError Test", "Der folgende Fehler trat auf: " + ErrorMessage())
EndProcedure
OnErrorCall(@ErrorHandler())
Nicht das ich wüßte.RSBasic hat geschrieben:Verwendest du vielleicht irgendwelche externe DLLs?
Eigentlich nur bei der aktuellen.RSBasic hat geschrieben: \\Edit2:
Tritt der Absturzfehler nur bei einer Anwendung auf oder bei allen? Falls zweiteres, dann teste es mal mit deaktivierter Antivirensoftware.
Hö? Jegliche Strings die in Threads vorkommen sind gefährlich?mk-soft hat geschrieben:Mögliche Ursachen:
- Threads mit Strings ohne Compiler-Option Threadsafe
Habe "Thread-sicheres Exe erstellen" angeklickt.
PB 6.02 LTS + Win 11
Re: Das mit dem Debugger getestete Executable endete unerwar
So mit der 32-bit-Version spuckt OnError() zumindest endlich mal bissi mehr Infos aus:
Schön und gut, aber kann er nicht wenigstens auch die Zeile dazu mit ausspucken oder so?
Schön und gut, aber kann er nicht wenigstens auch die Zeile dazu mit ausspucken oder so?
PB 6.02 LTS + Win 11
- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Re: Das mit dem Debugger getestete Executable endete unerwar
Ergebnis = ErrorLine()
siehe Hilfe
siehe Hilfe
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
- HeX0R
- Beiträge: 2954
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 - Kontaktdaten:
Re: Das mit dem Debugger getestete Executable endete unerwar
oder einfach das hier nutzen.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
Re: Das mit dem Debugger getestete Executable endete unerwar
@Dellehjbremer hat geschrieben:Ergebnis = ErrorLine()
siehe Hilfe
Wichtig ist, dass du in den Compiler-Optionen die Einstellung "OnError-Unterstützung einschalten" aktivierst, um die Zeile ermitteln zu können.
Re: Das mit dem Debugger getestete Executable endete unerwar
Hab ich!RSBasic hat geschrieben:@Dellehjbremer hat geschrieben:Ergebnis = ErrorLine()
siehe Hilfe
Wichtig ist, dass du in den Compiler-Optionen die Einstellung "OnError-Unterstützung einschalten" aktivierst, um die Zeile ermitteln zu können.
Code: Alles auswählen
SetGadgetText(#Browser,GetDatabaseString(#DB, DatabaseColumnIndex(#DB, "url")))
StartTime.q = ElapsedMilliseconds()
While GetGadgetAttribute(#Browser, #PB_Web_Busy)
Delay(1)
If(ElapsedMilliseconds() - StartTime)>30000
SetGadgetText(#Browser,GetDatabaseString(#DB, DatabaseColumnIndex(#DB, "url")))
StartTime.q = ElapsedMilliseconds()
EndIf
Wend
Ist evtl. irgendwie einfach der String mit der URL "leer"/NULL und er spinnt deshalb?
PB 6.02 LTS + Win 11