Nagut, weiter im Text:
Ich halte immernoch dagegen. Ich versuche, irgendwelche Zahlen zu dem Thema zu finden, aber immer, wenn ich was mit „x“ eingebe, werden nur Pornos gelistet …Seraph hat geschrieben:Sprich der User hat die Moeglichkeit zwischen 'Send', 'Cancel' und der Moeglichkeitkeit zu beschreiben, was er denn gerade getan hat. Und ich denke nicht, dass es den User ueberfordern wird.
User lesen nie etwas. Nicht, wenn sie entspannt sind, und erst recht nicht, wenn sie gerade wütend sind (wie eben nach einem Absturz). Ich glaube nicht, dass die Entscheidung über den Error-Report dem User von Vista unbewusst entzogen wurde. Ich würde zumindest das x ausblenden und das „Send“ per default aktivieren, oder die Buttons zufällig vertauschen :)
Also gut: Ich denke, für alles vor dem RC-Status reicht es, wenn man bei kritischen Fehlern ein Log anzeigen lässt. (Wie man es nicht machen sollte: einfach schließen und vorher die Zwischenablage mit der Fehlermeldung überschreiben, wie in S.T.A.L.K.E.R. … aber es gab ja zum Glück noch zwei andere Arten, auf die das abstürzen konnte :) ) Danach je nach Kundenkreis und Bezahlung entscheiden – bei Gamern und garnichts wird kein Fenster mit einer Verbeugung drin sein, aber sicher eine Dialogbox, sobald ich sicher bin, dass die sich auch jemand durchliest.
(Wie ist das eigentlich mit Windows Error Reporting? Wenn ich da Einsicht bekäme, käme ich auch ohne Dialogbox an die Abstürze, oder?)
Beim nächsten Start mit der Sitzung weitermachen, soweit möglich, ist gut. Erfordert manchmal mehr, manchmal weniger Logik. Aber falls der Status von vorher überhaupt erst zum Absturz geführt hat, ist es katastrophal … wieder User fragen?!
Achja, ich habe das Fail-Early vergessen (sorry, Alexander) …
… wie sich das einsetzen lässt, hängt stark vom Programmumfang und der Programmdynamik ab. Gehen wir von einem relativ kleinen, dialogbasierten Programm aus, ist es mit einigem Aufwand möglich, alle Ressourcen am Anfang zu sammeln – wenn die Ressourcen in Verzeichnissen gepackt sind, sogar relativ einfach (Checksumme).
Gehen wir aber von dem Umfang eines modernen Computerspiels (1 GiB +) aus, wird es happig, falls nicht zufällig eine Infrastruktur wie Steam bereit steht, die sowieso Buch über alle Ressourcen führt. Da könnte man vielleicht noch mit x64 beikommen – beim Programmstart das komplette Programmverzeichnis in den Speicher einblenden und verifizieren. Das wollte ich sowieso schon immer mal machen :)
Und unmöglich ist es dann, wenn der größte Teil der Abstürze auf das Konto von kaputten Skripten geht – z.B. dass es immer crasht, wenn eine Spielfigur in eine bestimmte Situation kommt. Da ist man einfach machtlos und, je nach Größe der Spielwelt, auch ein kompletter Ast von Speicherpunkten verloren (als Negativbeispiel sei wieder S.T.A.L.K.E.R. mit den kontextabhängigsten Abstürzen dieses Jahrtausends genannt) … ich würde sagen, dass die meisten Games heute und in der Zukunft in die Richtung von 2) (zu groß) und 3) (zu dynamisch) gehen. Und für die kleine Basis der Ressourcen macht man es ja gewissermaßen eh schon, weil man die die ganze Laufzeit über benutzt.