Hallo, also, ich bin mir jetzt nicht sicher, ob das wirklich ein Anfänger-Thema ist, aber irgendwo muss es ja rein und das könnte doch viele Anfänger auch interessieren:
Wie kann man ein Programm vor dem Abstürzen bewahren, heißt: wie kann man verhindern, dass Windows eine Absturzmeldung bringt und man stattdessen einfach weiter macht (evtl. nach Auslieferung eines Fehlercodes).
... geht das überhaupt?
Grüße,
euer es_91.
Programmabsturz nach CallFunction() verhindern
Programmabsturz nach CallFunction() verhindern
Zuletzt geändert von es_91 am 25.09.2014 19:22, insgesamt 1-mal geändert.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Nein, nein, bitte stürz nicht ab!!! (Böses CallFunction!
Fehler, wie IMA (Invalide Memory Access) kann man nicht ignorieren. Man kann sie Abfangen und das Programm beenden,
zum Beispiel mit der OnError Lib.
Besser ist es immer solche Fehler Abzufangen, bzw. zu verhindern!
zum Beispiel mit der OnError Lib.
Besser ist es immer solche Fehler Abzufangen, bzw. zu verhindern!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Nein, nein, bitte stürz nicht ab!!! (Böses CallFunction!
Ich wollte einen DLL-Betrachter schreiben, der das Ausführen von Funktionen aus der Bibliothek ohne Angabe von Parametern ermöglicht, bzw. wenn Parameter falsch angebgeben werden sollte sich das Ding nicht einfach abschießen.
Ideen? ^^
Ideen? ^^
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Nein, nein, bitte stürz nicht ab!!! (Böses CallFunction!
Da sehe ich schwartz für Dich
Hab zwar schon sowas geschrieben (PureDLLHelper)
aber nicht mit der Möglichkeit die Parameter zu testen.
Mit TryCatch könnte man zwar evtl. was machen, aber das
steht dann doch auf wackligen Füssen.
Gruß
Thomas

Hab zwar schon sowas geschrieben (PureDLLHelper)
aber nicht mit der Möglichkeit die Parameter zu testen.
Mit TryCatch könnte man zwar evtl. was machen, aber das
steht dann doch auf wackligen Füssen.
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Nein, nein, bitte stürz nicht ab!!! (Böses CallFunction!
Danke Dir.
Mein kleiner Test eben hat mir doch nen Error gebracht, als ich ne Funktion über CallFunctionFast() aufrufen wollte. Das sollte eigentlich gehen...
Kann aber auch sein, ich irre mich.
Wie dem auch sei, ich brauche vorerst keine weitere Hilfe un gehe dankend von Dannen.
Mein kleiner Test eben hat mir doch nen Error gebracht, als ich ne Funktion über CallFunctionFast() aufrufen wollte. Das sollte eigentlich gehen...
Kann aber auch sein, ich irre mich.
Wie dem auch sei, ich brauche vorerst keine weitere Hilfe un gehe dankend von Dannen.

Re: Nein, nein, bitte stürz nicht ab!!! (Böses CallFunction!
Da die Parameter und die Rücksprungadresse über den Stack übergeben werden, führt eine falsche Anzahl an Parametern zu einer falschen Rücksprungadresse also zu einem Jump ins Nirvana. Du könntest den Stack vorher mit der richtigen Rücksprungadresse mehrmals befüllen und anschließend das Stackregister (esp bzw. rsp) mit dem vorher in den Speicher gesicherten Wert des Stackregister (esp bzw. rsp) überschreiben. Nur wenn die DLL selbst, wegen einem falschen Parameter, einen Fehler verursacht oder die Gesamtlänge aller Parameter in Byte nicht durch 4 teilbar ist, dürfte das Programm jetzt noch abstürzen...
Zuletzt geändert von _sivizius am 26.09.2014 18:39, insgesamt 1-mal geändert.
- NicknameFJ
- Beiträge: 324
- Registriert: 03.06.2007 14:36
- Wohnort: Von der Sonne aus gesehen der dritte Planet
Re: Nein, nein, bitte stürz nicht ab!!! (Böses CallFunction!
@es_91:
würdest Du bitte einen aussagekräftigen Titel für diesen Thread vergeben.
Danke.
würdest Du bitte einen aussagekräftigen Titel für diesen Thread vergeben.
Danke.
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller

