Menidan
Gast
Fehlerbehebung leicht gemacht
Wer hatte schon einmal einen Fehler in Grepolis entdeckt? Und wer hat schon einmal mitbekommen, wie dieser Fehler dann irgendwie verschwand? Das muss nicht sein! Es gibt eine Möglichkeit, die Fehlersuche deutlich zu vereinfachen und damit die Fehleranzahl drastisch zu senken.
Was tun?
Um den Fehlern entgegenzuwirken, muss Grepolis mitschreiben, was getan wird. Mitgeschrieben wird aber nur im Browser, der Grepolis-Server merkt davon überhaupt nichts (das wäre dem auch zu viel). Dazu bietet sich eine Konsole an. Immer dann, wenn etwas passiert, wird dann in die Konsole die entsprechende Aktion hineingeschrieben. Öffne ich also ein Fenster oder schicke ich einen Angriff ab, schreibt sich die Internetseite das auf. Wenn ich die Seite neu lade, wird die Konsole auch gleich geleert.So weit, so gut. Aber was mache ich nun bei einem Fehler?
Ein Fehler!
Nun ist es geschehen! Ich habe einen Fehler gefunden! Was soll ich denn nun tun? Irgendwie muss ich den ja melden. Was mache ich also? Ganz einfach: ich klicke auf die neue Schaltfläche "Fehler melden". Dann folge ich den Anweisungen, die dann angezeigt werden: wenn ich bei dem Link zur Suche keine entsprechende Fehlermeldung gefunden habe, folge ich dem entsprechenden Link zu dem richtigen Unterforum und fülle dort das vorgegebene Schema aus, welches z. B. so aussehen könnte:
Code:
Fehler:
// Beschreibe hier den Fehler. Was ist passiert?
Erwartet:
// Beschreibe hier, was du erwartet hast, was also eigentlich hätte passieren sollen.
Weg zum Fehler:
// Stelle hier in Kurzform da, wie du zu dem Fehler kamest, z. B. so:
// 1. Ich habe das Allianzforen-Fenster geöffnet.
// 2. ...
// usw.
// N. Ich habe auf den Knopf gedrückt und es geschah nichts.
Konsole:
[NOPARSE][SPOILER="Konsole"][/NOPARSE]
// Kopiere hier den Inhalt der Fehler-Konsole hinein, welche du über
// die neue Schaltfläche im Grepolisfenster findest.
// Das sieht dann z. B. so aus:
// [COLOR="white"]Grepolis Console Version 1.3.27[/COLOR]
// Browser: Firefox
// World: de49
// ...
// ============================================
// [COLOR="gray"][23:53:14][/COLOR] Grepolis Console started.
// [COLOR="gray"][23:53:14][/COLOR] Today is the 07.05.2013.
// [COLOR="gray"][23:53:17][/COLOR] [COLOR="green"]DOM Content loaded.[/COLOR]
// ...
// [COLOR="gray"][00:00:00][/COLOR] Today is the 08.05.2013.
// [COLOR="gray"][00:01:34][/COLOR] Profile: Profile window opened.
// [COLOR="gray"][00:01:35][/COLOR] Profile: Building regular expression for testing names.
// [COLOR="gray"][00:01:35][/COLOR] [color="orange"]Warning: Profile: Building regular expression
// for testing names failed.[/COLOR]
// [COLOR="gray"][00:01:35][/COLOR] [COLOR="red"]Error: "TypeError - Cannot read property 'exec'
// of undefined" on line 1512[/COLOR]
// Stacktrace:
// ...
// [COLOR="gray"][00:01:48][/COLOR] Console: Console window opened.
[NOPARSE][/SPOILER][/NOPARSE]
Einwände?
Was spricht gegen eine solche Lösung? Einmal der Aufwand natürlich. Es reicht ja nicht, einfach nur die Schablone für neue Fehler zu ändern und ein neues Fenster einzuführen, es muss auch der ganze Quelltext mit Log-Nachrichten durchsetzt werden, zumindest alles, was neu geschrieben wird. Das kann - je nach Herangehensweise - recht aufwendig sein. Aber im Vergleich zu der Einführung von Helden ist das sicher weniger Arbeit.Zum anderen kann in der Konsole zu viel stehen. Dann ist in der Konsole eine endlose Sitzung protokolliert mit tausenden Zeilen, die mit dem eigentlichen Fehler nichts zu tun haben.
Die Konsole ersetzt nicht die Kommunikation mit den Spielern, bei denen der Fehler auftrat, sie soll sie nur erleichtern. Allein mit einer solchen ist noch kein Fehler behoben.