eigenes Programm gezielt abstürzen lassen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

eigenes Programm gezielt abstürzen lassen

Beitrag von Froggerprogger »

Hab grad was entdeckt :D :
Folgender ASM-Befehl ist dazu da, einen ungültigen Opcode zu erzeugen, was das Programm abstürzen läßt (Windows-Meldung: PureBasicxxxx hat ein Problem festgestellt und muss beendet werden...)
Geeignet z.B., um sein Programm auf Robustheit zu testen, oder just4fun:
(Ist auch so schon per Copy&Paste lauffähig, dürfte das kürzeste sinnvolle Programm sein, das es gibt...)
!UD2
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

sinnvoll???
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Nun ja, man kann somit z.B. testen, ob die "Fehlerbericht an Microsoft-senden" - Option ausgestellt ist. :D
Oder generell testen, wie das Betriebssystem auf ungültige Opcodes reagiert.
!UD2
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Also besser um sein Betriebssystem zu testen, und nicht sein Programm, oder?
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

In der Form !UD2 alleine, ja. (wobei genaugenommen selbst da schon !UD2 zum Testen des Programms dient, da !UD2 eben das Programm IST :D )

Aber z.B. wenn du bei dir eine Autosave-Funktion in dein Programm einbaust und testen möchtest, wie sich das Laden der Autosave-Datei verhält, wenn dein Programm zuvor mittendrin beim Speichern abschmierte, ist das mit !UD2 während des Schreibens innerhalb der Autosave-Procedure sicherlich weit realistischer simuliert, als wenn man einfach ein END einfügt, welches ja noch schön sauber zum Programmende hin aufräumen würde. Dieses Aufräumen muss im Fall !UD2 vom Betriebssystem übernommen werden, und erzeugt vielleicht ein anderes Verhalten, als END.
!UD2
Antworten