Fehler und De-Bugging¶
Lernziele
Hier lernst du, wie du etwas in Unity "rückgängig machen" kannst. Außerdem lernst du den Begriff "De-Bugging" kennen. Du lernst, wo dir in Unity Programmierfehler angezeigt werden und wie du damit umgehen kannst.
Das Schöne am Programmieren ist: Fehler machen gehört dazu!
Fehler sind super Lernmöglichkeiten!
Es klappt nicht! Was nun?¶
Was kann man tun, wenn was nicht klappt?
Wenn du dich vertippt hast oder unabsichtlich was gelöscht hast, kannst du das in Unity rückgängig machen.
Tipp
Rückgängig machen kannst du mit der Tastenkombination: strg + z
Ok... aber was, wenn du auf Start drückst, aber nichts passiert?
Schau in der Konsole nach, was da geschrieben steht.
Unity gibt in der Konsole Warnungen und Fehlermeldungen aus, sobald du das Spiel gestartet hast.
Warnungen und Fehlermeldungen beinhalten üblicherweise je eine Fehlerbeschreibung (auf Englisch) UND eine Zeilenangabe, auf welcher Zeile (und in welchem Skript) der Fehler aufgetreten ist.
De-Bugging in Unity?¶
Hast du eine Fehlerbeschreibung, aber verstehst noch nicht, was da steht?
-
Lese im Grundlagentutorial nach, ob da was zu deinem Fehler steht (Es gibt auch eine Suchfunktion!)
-
Frag eineN KollegIn
-
Wenn es ein Hilfeforum gibt: Schreib deinen Fehler in das Forum
-
Frag eineN erfahreneN LernerIn (etwa eineN TutorIn oder eine Lehrperson)
-
Im Internet gibt es auch Hilfeforen: etwa das Unity Forum oder StackOverflow
De-Bugging bedeutet, dass du Computer-Programm-Fehler (Bugs) ausbesserst.
Hier ist ein Bild vom ersten echten "Bug", der jemals in einem Computerprogramm gefunden wurde! ;)
De-Bugging in Visual Studio¶
Hast du eine Fehlerbeschreibung und eine Zeilenangabe, kannst du die Zeile in deinem C# Skript in Visual Studio suchen.
-
Vielleicht hast du nur einen
;
(Strichpunkt) vergessen? -
Oder Groß- und Kleinschreibung bei Bezeichnungen nicht eingehalten?
Arbeitsauftrag
Füge folgenden Programm-Teil in deinem HalloElli.cs Skript nach
void OnDisable()
{
Debug.Log ("Hallo Elli!");
}
ein:
void OnEnable()
{
Debug.Log("Elli ist wieder sichtbar!")
}
Finde den Fehler und verbessere den Quellcode.
Breakpoints¶
Um zu sehen, was sich in deinem Skript abspielt, wenn du in Unity auf Start drückst, können Breakpoints (Haltepunkte) gesetzt werden. Hierfür klickst du in Visual Studio links neben die Zeilennummer, wo du einen Haltepunkt setzen willst.
Um in dem Debug-Modus zu kommen, klicke auf Debuggen -> Debugging starten (oder F5) in Visual Studio. Anschließend kannst du dein Spiel in Unity starten. Sobald die Ausführung deines Programms an die Stelle kommt, wo dein Haltepunkt gesetzt ist, bleibt es stehen.
Nun kannst du die Inhalte von Variablen im aktuellen Zustand beim Haltepunkt einsehen (im Fenster links unten, wenn du auf "this" draufklickst), indem du den Mauszeiger auf die Variable bewegst.
Mit der Taste "Nächste Anweisung anzeigen" kannst das Programm nach einem Haltepunkt weiterlaufen lassen.