Kategorien
Internet Programmierung

Fehlerberichte – wie Sie Softwarefehler melden sollten

von Simon Tatham, Berufsprogrammierer und Programmierer freier Software
Quelle: http://www.chiark.greenend.org.uk/~sgtatham/bugs-de.html

Einleitung

Jeder, der Software für die Allgemeinheit geschrieben hat, wird wahrscheinlich schon einmal einen schlechten Fehlerbericht erhalten haben. Nichts sagende Berichte („Es geht nicht!“), Berichte, die keinen Sinn ergeben, Berichte, die einem nicht genug Informationen geben, Berichte, die einem falsche Informationen geben. Berichte von Problemen, die sich schließlich als Fehlbedienung durch den Benutzer herausstellen, oder bei denen das Problem bei einem anderen Programm liegt oder die auf Netzwerkfehler zurückzuführen sind.

Es gibt einen Grund, warum die Arbeit für eine Anwenderhotline als Horror angesehen wird und dieser Grund sind schlechte Fehlerberichte. Andererseits sind nicht alle Fehlerberichte unangenehm. Wenn ich nicht gerade meinen Lebensunterhalt verdiene, so entwickle und pflege ich freie Software und manchmal erhalte ich wunderbar klare, hilfreiche, informative Fehlerberichte.

In dieser Anleitung werde ich versuchen, Ihnen klarzumachen, was einen guten Fehlerbericht ausmacht. Meine Idealvorstellung wäre es, dass jeder diese Anleitung liest, bevor er irgendwem irgendwelche Fehlerberichte schickt. Auf alle Fälle hätte ich es gerne, dass Leute, die mir Fehlerberichte senden, das hier lesen.

Kurz gefasst ist das Ziel eines Fehlerberichts, es dem Programmierer zu ermöglichen, zu sehen, wie das Programm Fehler macht. Entweder können Sie es ihm persönlich zeigen oder ihm sorgfältige und genaue Informationen geben, wie er es dazu bringt, den Fehler zu machen. Wenn er das schafft, so wird er versuchen weitere Informationen zu sammeln, bis er die Ursache kennt. Wenn er das nicht schafft, so muss er sie bitten die Informationen für ihn zu sammeln.

Versuchen Sie genau auseinander zu halten, was die tatsächlichen Vorkommnisse waren („Ich war am Rechner und dies und das passierte.“) und was Ihre Interpretationen und Spekulationen sind („Ich denke es könnte an Folgendem liegen …“). Wenn Sie es nicht wünschen, so brauchen Sie Ihre Spekulationen nicht mitzuteilen, aber bitte beschreiben Sie alle tatsächlichen Vorkommnisse.

Wenn Sie einen Fehler melden, dann weil Sie ihn repariert haben wollen. Es macht keinen Sinn, den Programmierer zu verfluchen oder absichtlich möglichst wenig hilfreich zu sein: Es mag der Fehler des Programmierers sein, dass Sie ein Problem haben und Sie ärgern sich möglicherweise vollkommen zu Recht über ihn, aber der Fehler wird schneller behoben werden, indem Sie ihm dadurch helfen, dass Sie ihm alle Informationen geben, die er braucht. Übrigens: Wenn es sich um freie Software handelt, haben Sie sie diese aufgrund der Nettigkeit des Autors bekommen. Wenn zu viele Leute sich ihm gegenüber ungehobelt aufführen, lässt diese Nettigkeit vielleicht nach.

Kategorien
Alex

Lecker Kaffee

Heute habe ich mir mal einen neuen Kaffeevollautomaten gegönnt – bis jetzt macht er ein sehr guten Eindruck. Was mir besonderes gefällt ist das er die Milch gleich selber aufschäumt ohne das man ein Zusatzgerät benötigt. Also es gibt ein Milchfach und die Milch kommt entsprechend der Kaffee-Mischung vor oder nach dem Kaffee in das Glas.

Primea Cappuccino Touch Plus

Quelle und © des Bildes: http://www.saeco.de/

Schauen wir mal wie sie sich so im Alltag macht. Vielleicht gibt’s ja noch weitere Erfahrungsberichte. Bis jetzt bin ich jedenfalls sehr zufrieden.

Kategorien
Alex

Fornika

Bald bei Amazon erhältlich jetzt schon vorbestellbar: Fornika von „Die Fantastischen Vier“

Fornika

Kategorien
PHP und Co

Month of PHP Bugs gestartet

Auf http://www.php-security.org/ wurde Anfang März das Month of PHP Bugs-Projekt gestartet. Hoffen wir das sie nicht zu viele Fehler finden ;-)

Kategorien
Alex

Zur Erinnerung

Heute ist es so weit:

Kategorien
Internet

Wichtiges WordPress Update!

Unter der dem Beitrag: „WordPress 2.1.1 dangerous, Upgrade to 2.1.2“ ist von einem Hack die Rede der die Versionen von WP 2.1.1 betrifft, wenn man sie in den letzten 3-4 Tagen ab dem 02.03. runtergeladen hat. Offensichtlich hat jemand die Quellcodes der angebotenen Downloads manipuliert.

Und auch noch der Beitrag von Heise zu dem Thema

Also zieht Euch schnell das Update auf 2.1.2!

Kategorien
Alex

Geburtstagskind

Hi!

Nachdem mein Cousin seinen ersten Eintrag hinterlassen hat und mir so nett zum Geburtstag gratulierte, melde ich mich auch mal zu Wort….

Danke an Alle die mir eMails, SMS und Anrufe gesendet und hinterlassen haben. So viele habe ich glaube ich schon lange nicht mehr bekommen. Ich habe mich riesig gefreut von Euch zu lesen und hören!

Auf ein neues Jahr – Euer Alex

Kategorien
Borni Java und Co

Java-Debugging in Eclipse sehr langsam…

Tja, so kann es kommen: Ich habe mich schon seit Wochen (Monaten?) darüber gewundert, dass Eclipse beim Debuggen auf meinem Arbeitsrechner sehr langsam ist, wenn man zusätzlich die Variables-View dargestellt hat. Auf den Rechnern meiner Kollegen und bei mir zu Hause war alles bestens.

Das Debuggen war so behäbig, dass bei „schnellem“ Gebrauch von F6 (Step foward) oder dergleichen Eclipse den „Focus verloren“ hat und man explizit wieder auf den aktuellen StackFrame in der Debug-View klicken musste, um weiter steppen zu können….. very annoying!

Ich hatte die Eclipse-Plugins ausgedünnt und sogar meine JDKs neu installiert. Nichts half. Nach jedem Step, der ein Neudarstellen der Werte der Variablen in der Variables-View notwendig machte oder beim Browsen in den Tiefen der Objekte selber ging die CPU-Zeit meines java.exe-Prozesses auf ca. 50% und blieb dort für 1 bis 2 Sekunden… jenachdem, wie komplex der Aufbau des Objekts ist.

Nun, gestern hatte ich ein Aha-Erlebnis: Auf meinem Arbeitsrechner wird mir der Inhalt der der Objekte so dargestellt, wie es die toString()-Methode liefert. Das fehlte mir auf meinem Privatrechner. Mal eben fix eingestellt und alles war schön. Wirklich alles? Nein! Plötzlich war das Debugging ebenso langsam wie auf meinem Arbeitsrechner.

So, nun habe ich diese Option bei mir auf Arbeit wieder abgeschaltet… und, siehe da, Debugging macht wieder Spaß!

Im nachhinein ist es ja auch klar: So ein Aufruf von toString() für jedes Objekt ist natürlich sehr zeitaufwendig. Jetzt muss ich mich eben wieder an das normale Aussehen meiner Variablen beim Debuggen gewöhnen.

Ach ja, für alle, die wissen wollen, wo man diese verheerende Option einstellen kann, habe ich zwei Screenshots angehängt:

Diese Option liefert ein per toString() ein aussagekräftigeres aber sehr zeitintensives Ergebnis.

Diese Option ist der Default und schnell

Und last, but not least: Alex, alles gute zu Deinem Geburtstag! Soll all das in Erfüllung gehen, was Du Dir selber wünscht.