UX Audit

Wir trainieren dein Team? Buch unsere Workshops, Trainings und Coachings.

Zeigt her!
Close

Finde den Fehler

23. Juni 2015, von Sarah

Da unser Christoph gerade eine Artikelreihe über Testing schreibt, habe ich mir gedacht, dass ich ein bisschen was über das Fehler suchen/debuggen in PHP schreiben könnte.
bug_kreis
Wenn man noch nicht so lange programmiert kann es sehr schwer und nervenaufreibend sein einen Fehler im Code aufzuspüren. Deswegen findet ihr hier ein paar einfache Tipps, wie ihr euch die Suche erleichtern könnt. Viele Fehler entstehen durch Schlampigkeit, wenn man beispielsweise einmal sehr schnell was umsetzen muss – passiert jedem mal – und dafür braucht man sich dann auch nicht zu schämen (meistens zumindest).

Von außen nach innen

Wenn man sich nun auf Fehlersuche begibt, sollte folgendes beachtet werden: es ist wahrscheinlicher, dass der Bug aus dem eigenen Code kommt, deswegen ist es ratsam dort mit der Suche zu beginnen. Erst wenn hier die Suche erfolglos bleibt, sollte man sich tiefer ins System wagen – zuerst zu möglichen Config Files, um Einstellungen zu überprüfen und dann noch weiter zu den Libraries und Core Files.

Die ganze Fehlermeldung lesen

Das mag für manche ein bisschen seltsam klingen, aber ich glaube nicht, dass ich die Einzige bin, die manchmal die Fehlermeldungen nicht komplett durchliest. Es kann vorkommen, dass sobald ich die “Fatal Error” Meldung in meinem Browser sehe, ich gleich zurück zu meinem Code wechsle, um dann dahinterzukommen, dass ich keine Ahnung habe, was jetzt eigentlich der Fehler war. Ganz selten bin ich dann noch etwas fauler und denke mir – gut, so viel hab ich jetzt nicht geschrieben, den Fehler werde ich auch so finden – dabei wäre es so leicht einfach nur die paar zusätzlichen Infos zur Fehlermeldung zu lesen!

Der unsichtbare Bug

Dies ist ein Bug der keine Fehlermeldung ausgibt – sehr tricky. Da sollte zuerst überprüft werden, ob die Ausgabe der Meldungen nicht unterdrückt wird (das kann im System sein oder am Server). Falls da aber alles okay ist, sollte man seinen Code nach exit und die durchsuchen – das kann wirklich mal passieren, dass während einer Debug Session vergessen wird diese Dinge wieder zu löschen! Wenn man dann wirklich dahinterkommt, dass der unsichtbare Bug durch ein falsch platziertes exit verursacht wurde, weiß man oft nicht, ob man sich nun freuen oder den Job an den Nagel hängen soll ;).

Teamwork

Sich von jemand anderem helfen zu lassen ist ein Weg der zumeist sehr gut funktioniert. Oft sieht man den Fehler im Code einfach nicht – vor allem wenn man ihn schon eine Stunde lang angestarrt hat. Da ist es gut, wenn ein paar neue Augen und ein weiteres Hirn dazukommen.
Einfach dem anderen erklären was der Code machen sollte und was jetzt das Problem ist. Manchmal hilft es dann dem Helfer den Code zu erklären, manchmal sind Probleme aber auch ein wenig abstrakter – da kann dann gemeinsam ein Brainstorming gestartet und überlegt werden, wo die Fehlerquelle sein könnte. Oft kommt man allein durchs erzählen dahinter was das Problem ist.

Google benutzen

Ja es gibt Leute die googeln nicht – ich gehöre nicht dazu, aber ich kenne ein paar Menschen für die ich schon etliche Sachen googeln durfte. In den meisten Fällen ist es nämlich so, dass man nicht der Erste mit diesem Problem ist und es schon irgendwo im Internet eine Lösung gibt, die nur darauf wartet gefunden zu werden. Aber es kann auch vorkommen, dass ein Problem so speziell ist, dass man einfach nichts findet! Da muss man sich dann einfach an die Community wenden und beispielsweise auf StackOverflow seine Frage stellen.

Optische Hilfe

Irgendwann passiert es jedem einmal, dass er eine “Matschbirne” bekommt – da geht dann einfach gar nichts mehr: man kann sich einfach nicht mehr konzentrieren! Da sollte man am besten eine Pause machen oder den Tag einfach beenden, was aber nicht immer möglich ist. Dann muss man versuchen sich dem Problem auf anschaulichere Weise zu stellen und zwar mit Ausgaben. Arrays, Zählervariablen, Objekte und was weiß ich, einfach im Browser ausgeben lassen – am besten man schreibt sich noch dazu was man da sieht – je nachdem wie kon­zen­t­ra­ti­ons­fä­hig man noch ist. Und dann sieht man sich seine Ausgaben einfach genau an, um nachvollziehen zu können was der Code eigentlich so macht. Das so zu machen ist wirklich sehr hilfreich – auch wenn man gerade keine “Matschbirne” hat!

Debug Tools

Natürlich gibt es für das Debuggen auch Tools die einem helfen können dem Problem einfacher und schneller auf den Grund zu gehen! Beliebte Tools sind beispielsweise XDebug oder Browser Apps wie Chromes PHP Console – es gibt jedoch noch sehr viele andere Tools unter denen sicher jeder seinen Liebling finden kann.

Fazit

Das Wundermittel gibt es natürlich nicht, aber man hat so viele Möglichkeiten zum ausprobieren bevor man langsam anfängt zu verzweifeln. Die gute Nachricht für alle Anfänger: je mehr Erfahrung man bekommt, desto einfacher wird es Fehler zu finden! Irgendwann entwickelt man ein Gefühl dafür, wo Fehler herkommen könnten. Außerdem wiederholen sich Fehler auch und man weiß gleich, wie man was lösen muss und wie sich Systeme verhalten und funktionieren.
 

Du willst mit jemanden über das Thema plaudern?

Einen kostenlosen Termin mit CEO Susanne vereinbaren!

Sarah

Meine Rolle bei Liechtenecker: - Wenn es weder IT noch Digitalisierung gäbe, wäre mein Beruf: - Mein Herz schlägt für: -
1 Kommentar.
Kommentar verfassen
Name
Mail
Web
Captcha
Erfolgreich!
Fehler!
basti
23. Juni 2015 um 16:48

Na ich denke sehr gut lassen sich Fehler auch durch TDD und unter Beachtung von DRY und SRP finden und vermeiden.

Jetzt antworten
Antwort verfassen
Name
Mail
Web
Captcha
Erfolgreich!
Fehler!
Technologie – Blogbeitrag

Generative AI: Eine Web-App in 50 Bahn-Kilometern

18. April 2024, von stephan

Es ist früher Donnerstagabend am Wiener Franz-Josefs-Bahnhof. Schwärme an Pendlern strömen in die Züge. Die Menschen wirken erschöpft und müde. Viele nutzen die Zeit im Zug um ein Buch zu lesen oder einfach nur aus dem Fenster zu schauen. Die Zugfahrt nach dem Büro ist für mich meistens die Zeit, offene Tasks abzuschließen, Tickets zu verschieben und zu kommentieren oder E-Mails zu beantworten. Doch heute soll das anders sein.

Jetzt lesen
Liechtenecker Leseliste #62 mit Susanne Liechtenecker
Inspiration – Podcasts

Folge #62 mit Susanne Liechtenecker

27. November 2020

In Folge 62 besinnt sich Susanne auf die Anfänge dieses Podcasts und begrüßt keinen Gast, sondern erzählt über das Buch "Jäger, Hirten, Kritiker" von Richard David Precht und warum es sie inspiriert hat.

Jetzt anhören
Close