Programm zum Absturz programmieren?

2 Antworten

Ich denke, dass man im Code ganz einfach einen Befehl zum Beenden einbauen kann. So wie es auch funktioniert, wenn man im Menü den Beenden Button drückt, nur eben das anstatt dem Knopf etwas anderes, hier der goldene Freddy, den Befehl auslöst.


PWolff  06.12.2015, 20:38

Etwas, das dem Menü "Beenden" entspricht, lässt sich leicht einbauen.

Aber mit einem entsprechenden Systemaufruf kann man das Programm auch sofort beenden, auf die brutale Art. Dieser Aufruf ist auch vom Programm selbst möglich.

0
Ja, ...

Es gibt unendlich viele einfache Möglichkeiten, ein Programm zum Absturz zu bringen.

Beispiel in C / C++:

*(int*)0 = 123;

Oder so:

free(123);

Plattformspezifisch auf *ix-Systemen:

kill(getpid(), SIGILL);

Oder allgemein:

int x = (int)(sqrt(2) - 1.0);
int y = 123 / x;

Und so weiter, und so fort ... es gibt noch TAUSEND mal mehr Möglichkeiten! Irgendwie kann man immer jede Form von Fehler provozieren, und für Software-Tests ist das manchmal sogar bewusst erwünscht.

Die Beispiele, welche ich oben aufgelistet habe, sollte jeder Programmierer nachvollziehen können. Dabei sollte jedes Programm abstürzen.

Man kann auch noch schwerere Fehler im Betriebssystem auslösen, sodass du eine Kernelpanic oder einen Bluescreen bekommst.

Schönen Tag noch, und viel Spaß mit deinem neu erworbenen Wissen! :)


WuScHeLXD 
Beitragsersteller
 08.12.2015, 17:04

Ja, dann dürfte es so ein schwerer Fehler sein, denn nachdem, was ich gesehen habe, kommt dann so ein Bluescreen. Man muss das Spiel dann jedenfalls neu starten.

1