Zurück zur Übersicht

Begriff

Debugging

General Dev-Ops S1
1 Quelle 0 Lernpfade 2 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Debugging ist die Jagd nach Fehlern (Bugs) im Computerprogramm. Der Begriff kommt von einem echten "Bug" (Motte), die 1947 in einem alten Computer einen Kurzschluss verursachte. Wenn ein Programm abstürzt oder komische Dinge tut, muss der Programmierer den Detektiv spielen:

  1. Was ist passiert?
    Musterantwort: Beginne mit dem konkreten Fall, prüfe die Fakten und erkläre den Begriff daran. Für diesen Abschnitt gilt: Wie debuggt man? 1. Print-Statements: Der Anfänger-Weg. Man schreibt überall print("Ich bin hier") in den Code, um zu sehen, wie weit das Programm kommt. 2. Fehlermeldungen lesen: Der Computer sagt oft genau, was falsch ist ("Error in Line 55: Division by Zero"). Viele lesen das leider nicht. 3. Debugger nutzen: Profi-Tools (in der IDE), mit denen man das Programm Schritt für Schritt (Zeile für Zeile) ablaufen lassen kann. Man kann die Zeit anhalten und in die Variablen hineinschauen ("Aha, X ist hier 0, deshalb knallt es!").
  2. Wo im Code steht der Fehler?
    Musterantwort: Beginne mit dem konkreten Fall, prüfe die Fakten und erkläre den Begriff daran. Für diesen Abschnitt gilt: Wie debuggt man? 1. Print-Statements: Der Anfänger-Weg. Man schreibt überall print("Ich bin hier") in den Code, um zu sehen, wie weit das Programm kommt. 2. Fehlermeldungen lesen: Der Computer sagt oft genau, was falsch ist ("Error in Line 55: Division by Zero"). Viele lesen das leider nicht. 3. Debugger nutzen: Profi-Tools (in der IDE), mit denen man das Programm Schritt für Schritt (Zeile für Zeile) ablaufen lassen kann. Man kann die Zeit anhalten und in die Variablen hineinschauen ("Aha, X ist hier 0, deshalb knallt es!").
  3. Wie repariere ich ihn?
    Musterantwort: Beginne mit dem konkreten Fall, prüfe die Fakten und erkläre den Begriff daran. Für diesen Abschnitt gilt: Wie debuggt man? 1. Print-Statements: Der Anfänger-Weg. Man schreibt überall print("Ich bin hier") in den Code, um zu sehen, wie weit das Programm kommt. 2. Fehlermeldungen lesen: Der Computer sagt oft genau, was falsch ist ("Error in Line 55: Division by Zero"). Viele lesen das leider nicht. 3. Debugger nutzen: Profi-Tools (in der IDE), mit denen man das Programm Schritt für Schritt (Zeile für Zeile) ablaufen lassen kann. Man kann die Zeit anhalten und in die Variablen hineinschauen ("Aha, X ist hier 0, deshalb knallt es!").

Es ist oft der frustrierendste, aber wichtigste Teil der Programmierung.

Merksatz: Der systematische Prozess, Softwarefehler zu finden und zu beheben.


Quick-Check

  1. Warum heißt es "Bug"?
    Weil Grace Hopper 1947 eine echte Motte in einem Relais des Mark II Computers fand. Sie klebte sie ins Logbuch mit der Notiz "First actual case of bug being found".
  2. Was ist besser: Print-Statements oder ein echter Debugger?
    Debugger sind viel mächtiger, weil man den Zustand prüfen kann, ohne den Code zu ändern. Aber für schnelle Checks sind Prints oft einfacher.
  3. Was hilft, wenn man den Fehler absolut nicht findet?
    Pause machen. Schlafen. Oder der Gummiente das Problem erklären. Tunnelblick ist der Feind des Debuggings.