Was ist ein 'Absturz' genau?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Das kann ganz verschiedene Hintergründe haben.

Ein Programm kann sich "aufhängen"

  • durch einen unerwarteten Pfad in eine Endlosschleife geraten
  • einen "Deadlock" verursachen
  • endlos auf etwas warten, dass aus irgend einem Grund nicht eintritt (externe Abhängigkeiten, inkorrekte Synchronisation, etc.)
  • usw.

Ein Programm kann "abstürzen"

  • einen unerwarteten Zustand erreichen und sich aus Sicherheitsgründen selbst ausschalten
  • einen (seg- / general protection-) fault verursachen (z. B. geschützte Bereiche des Arbeitsspeichers antasten, eine geschützte oder nicht vorhandene Anweisung ausführen, als nicht ausführbar markierte Daten ausführen, etc.)
  • Eine "Trap" (Sicherheitstest) auslösen und nicht selbst verarbeiten; z. B. durch Null teilen, einen arithmetischen Überlauf auslösen (dagegen wird jedoch z. B. in C nicht getestet)
  • höhere Sicherheitsgarantien einer Sprache verletzen und von der Runtime ausgeschaltet werden
  • zum Erhalt bei Ressourcenmangel anderer "wichtigerer" Programme vom Betriebssystem (Kernel) terminiert werden
  • von anderen "normalen" Programmen oder der Ausführungsumgebung ein Signal bekommen, sich zu schließen (z. B. SIGKILL)
  • usw.

Es gibt unzählige Möglichkeiten; was genau der Fall ist, lässt sich oft nur schwer feststellen.

Woher ich das weiß:eigene Erfahrung – Langjähriger Poweruser & praktische Programmiererfahrung

ein Programm stürzt ab, wenn ein Error entsteht

das entsteht durch schlechte Programmierung, fehlende Zugriffsrechte, oder anderen Faktoren. Sollte das Programm kein Mechanismus zum Hantieren von Errors haben (daher auch ‚unhandled exception‘)

Überlastung des Computers, Cpu, Memory, …, kann auch zum Absturz führen

ajkcdajefiu~

Woher ich das weiß:Hobby – Technik? I‘m an Expert!

Wenn ein Softwareprogramm „abstürzt“, bedeutet dies, dass das Programm auf einen unerwarteten Fehler oder eine nicht behebbare Situation gestoßen ist, die es daran hindert, ordnungsgemäß zu funktionieren. Je nach Schwere des Absturzes kann das Programm einfach aufhören zu funktionieren, einfrieren oder ganz beendet werden