Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Übersicht der Debugging-Tools

Dieses Handbuch gibt Ihnen einen Überblick über die verfügbaren Debugging-Tools in der Engine.

Godot enthält einen leistungsstarken Debugger und Profiler, mit denen Sie Bugs aufspüren, Ihr Spiel zur Laufzeit überprüfen, wichtige Messdaten überwachen und die Performance messen können. Es bietet auch Optionen zur Visualisierung von Kollisionsboxen und Navigationspolygonen im laufenden Spiel.

Schließlich haben Sie die Möglichkeit, das auf einem Remote-Gerät ausgeführte Spiel zu debuggen und Änderungen an Ihren Szenen oder Ihrem Code neu zu laden, während das Spiel ausgeführt wird.

Output Panel

The output panel allows you to see text printed by the project, but also by the editor (e.g. from @tool scripts). You can find information about in Output panel.

Debugger-Panel

Viele der Debugging-Tools von Godot sind Teil des Debugger-Panels, zu dem Sie hier Informationen finden Debugger-Panel.

Debug-Menü-Optionen

Es gibt einige gängige Debug-Optionen, die Sie beim Ausführen Ihres Spiels im Editor ein- oder ausschalten können, um das Debuggen Ihres Spiels zu erleichtern.

Sie finden diese Optionen im Editor-Menü Debuggen.

../../../_images/overview_debug.webp

Hier sind die Beschreibungen der Optionen:

Mit Remote-Debugging bereitstellen

Wenn diese Option aktiviert ist, versucht die ausführbare Datei, sich mit der IP-Adresse dieses Computers zu verbinden, um das laufende Projekt zu debuggen, wenn Ein-Klick-Auslieferung verwendet wird. Diese Option ist für das Remote-Debugging gedacht (typischerweise mit einem mobilen Gerät). Sie brauchen sie nicht zu aktivieren, um den GDScript-Debugger lokal zu verwenden.

Kleines Ausliefern mit Netzwerk-Dateisystem

Diese Option beschleunigt das Testen von Spielen mit großem Platzbedarf auf Remote-Geräten.

Wenn Kleines Ausliefern mit Netzwerk-Dateisystem aktiviert ist, wird bei der Auslieferung des Spiels eine minimale ausführbare Datei erstellt, anstatt das gesamte Spiel zu exportieren. Der Editor stellt dann Dateien aus dem Projekt über das Netzwerk bereit.

Damit es schneller geht, wird unter Android das Spiel auch über USB-Kabel bereitgestellt.

Sichtbare Collision-Shapes

Wenn diese Option aktiviert ist, werden Kollisions-Shapes und Raycast-Nodes (für 2D und 3D) im laufenden Projekt sichtbar sein.

Sichtbare Pfade

Wenn diese Option aktiviert ist, sind Kurvenressourcen, die von Pfadknoten verwendet werden, im laufenden Projekt sichtbar.

Sichtbare Navigation

Wenn diese Option aktiviert ist, sind Navigations-Meshes und Polygone im laufenden Projekt sichtbar.

Sichtbares Ausweichen

Wenn diese Option aktiviert ist, sind die Shapes, Radien und Geschwindigkeiten der Ausweichobjekte im laufenden Projekt sichtbar.

Debuggen von CanvasItem-Redraws

Wenn diese Option aktiviert ist, werden Redraw-Anfragen von 2D-Objekten im laufenden Projekt sichtbar (als kurzes Blinken). Dies ist nützlich bei der Fehlersuche im Prozessorenergiesparmodus.

Szenenwechsel synchronisieren

Wenn diese Option aktiviert ist, werden alle Änderungen, die im Editor an der Szene vorgenommen werden, im laufenden Projekt repliziert. Bei der Remote-Verwendung auf einem Gerät ist dies effizienter, wenn die Option Netzwerkdateisystem aktiviert ist.

Skriptänderungen synchronisieren

Wenn diese Option aktiviert ist, werden alle am Skript im Editor vorgenommenen Änderungen in das laufende Projekt neu geladen. Bei der Remote-Verwendung auf einem Gerät ist dies mit dem Netzwerkdateisystem effizienter.

Debug-Server offen halten

Wenn diese Option aktiviert ist, bleibt der Debug-Server des Editors geöffnet und lauscht auf neue Sessions, die außerhalb des Editors selbst gestartet werden.

Laufende Instanzen anpassen...

Dies öffnet einen Dialog, in dem Sie Godot anweisen können, mehrere Instanzen des Spiels gleichzeitig auszuführen und die Befehlszeilenargumente für jede Instanz anzugeben. Dies ist besonders nützlich zum Bauen und Debuggen von Multiplayer-Spielen.

../../../_images/customize_run_instances.webp

Mehrere Instanzen aktivieren

Wenn diese Option aktiviert ist, führt der Editor mehrere Instanzen des Projekts auf einmal aus, wenn Sie Projekt Starten ausführen.

Unter dieser Checkbox befindet sich ein Auswahlmenü, mit dem Sie auswählen können, wie viele Instanzen ausgeführt werden sollen.

Das Ankreuzen des Kästchens und die Einstellung auf nur 1 ist dasselbe wie das Nicht-Ankreuzen dieses Kästchens.

Hauptausführungs-Argumente

Dies sind die Argumente, die an jede Instanz des Projekts übergeben werden, wenn Sie das Projekt ausführen, es sei denn, Sie wählen unter "Hauptausführungs-Argumente überschreiben" für eine bestimmte Instanz "Aktiviert".

Beachten Sie, dass diese Argumente durch Leerzeichen voneinander getrennt sind.

Tipp

Auf diese Argumente kann in Ihrem Skript mit get_cmdline_args zugegriffen werden.

Warnung

Selbst wenn Sie die Option "Mehrere Instanzen aktivieren" deaktivieren, werden diese Argumente beim Ausführen des Projekts übergeben.

Haupt-Feature-Tags

Dies sind die Feature-Tags, die an jede Instanz des Projekts übergeben werden, wenn Sie das Projekt ausführen, es sei denn, Sie wählen "Aktiviert" unter "Haupt-Tags überschreiben" für eine bestimmte Instanz.

Hauptausführungs-Argumente überschreiben

Wenn dies aktiviert ist, werden die Argumente im Feld "Hauptausführungs-Argumente" nicht an diese spezielle Instanz des Projekts übergeben, wenn Sie das Projekt ausführen.

Start-Argumente

Dies sind die Argumente, die an diese spezielle Instanz des Projekts übergeben werden, wenn Sie das Projekt ausführen. Sie werden mit den "Hauptausführungs-Argumente" kombiniert, es sei denn, Sie wählen unter "Hauptausführungs-Argumente" die Option "Aktiviert".

Haupt-Tags überschreiben

Wenn dies aktiviert ist, werden die Tags im Feld "Haupt-Feature Tags" nicht an diese spezielle Instanz des Projekts übergeben, wenn Sie das Projekt ausführen.

Feature-Tags

Dies sind die Feature-Tags, die an diese spezielle Instanz des Projekts übergeben werden, wenn Sie das Projekt ausführen. Sie werden mit den "Haupt-Feature-Tags" kombiniert, es sei denn, Sie wählen "Aktiviert" unter "Haupt-Tags überschreiben".

Warnung

Wenn Sie "User"-Argumente übergeben wollen, auf die mit get_cmdline_user_args zugegriffen werden kann, dann müssen Sie ihnen zwei Bindestriche und ein Leerzeichen voranstellen, wie z.B. -- eins zwei drei.

Beachten Sie, dass diese Bindestriche für Argumente gelten, die später in den "Startargumenten" pro Instanz hinzugefügt werden, was zu Verwirrung führen kann, wenn die Hauptausführungs-Argumente und Start-Argumente kombiniert werden.

Wenn Sie -- eins, zwei, drei in die "Hauptausführung-Argumente" und -- vier, fünf, sechs in die "Start-Argumente" eintragen, lauten die endgültigen Befehlszeilenargumente eins, zwei, drei -- vier, fünf, sechs. Das liegt daran, dass das -- in den "Start-Argumenten" wiederholt wird.

Debug-Tools und Optionen für den Skripteditor

Der Skripteditor verfügt über eigene Debug-Tools zur Verwendung mit Breakpoints und zwei Optionen. Diese Breakpoint-Tools finden Sie auch auf der Debugger-Tab des Debuggers.

Tipp

Sie können einen Breakpoint erstellen, indem Sie auf die Leiste links im Skript-Editor klicken (links neben den Zeilennummern). Wenn Sie mit dem Mauszeiger über diese Leiste fahren, erscheint ein transparenter roter Punkt, der sich in einen undurchsichtigen roten Punkt verwandelt, nachdem der Breakpoint durch Klicken gesetzt wurde. Klicken Sie erneut auf den roten Punkt, um den Breakpoint zu entfernen. Auf diese Weise erstellte Breakpoints bleiben auch nach einem Neustart des Editors erhalten, selbst wenn das Skript beim Verlassen des Editors nicht gespeichert wurde.

Sie können auch das Breakpoint-Schlüsselwort in GDScript verwenden, um einen Breakpoint zu erzeugen, der im Skript selbst gespeichert wird. Im Gegensatz zu Breakpoints, die durch Klicken auf die linke Leiste erstellt werden, bleibt dieser auf Schlüsselwörtern basierende Breakpoint bei Verwendung der Versionsverwaltung auf verschiedenen Rechnern erhalten.

../../../_images/overview_script_editor.webp

Der Break-Button bewirkt eine Unterbrechung des Skripts wie ein Breakpoint. Mit Fortsetzen wird das Spiel nach dem Anhalten an einem Breakpoint fortgesetzt. Mit Step Over wird zur nächsten Codezeile gesprungen, und Step Into führt in eine Funktion, falls möglich. Andernfalls tut es das Gleiche wie Step Over.

The Debug with External Editor option lets you debug your game with an external editor. You can set a shortcut for it in Editor Settings > Shortcuts > Debugger.

Wenn der Debugger an einem Breakpoint abbricht, wird ein grüner Dreieckspfeil in der Leiste des Skripteditors angezeigt. Dieser Pfeil zeigt die Codezeile an, wo der Debugger abgebrochen hat.

Debug-Projekteinstellungen

In the project settings, there is a Debug category with subcategories which control different things. Enable Advanced Settings to change these settings.

Einstellungen

Dies sind einige allgemeine Einstellungen wie die Ausgabe der aktuellen FPS in das Ausgabe-Panel, die maximale Anzahl von Funktionen beim Erstellen von Profilen und andere.

File Logging

These settings allow you to log console output and error messages to files.

GDScript

These settings allow you to toggle specific GDScript warnings, such as for unused variables. You can also turn off warnings completely. See GDScript Warnungs-System for more information.

Shader Language

These settings allow you to toggle specific shader warnings, such as for unused variables. You can also turn off warnings completely.

Canvas Items

These settings are for canvas item redraw debugging.

Shapes

Unter Shapes können Sie die Farbe von Shapes anpassen, die nur zu Debugging-Zwecken angezeigt werden, z. B. Kollisions- und Navigations-Shapes.

Remote im Szenendock

Wenn Sie ein Spiel im Editor ausführen, werden oben im Szenen-Dock zwei Optionen angezeigt: Remote und Local. Wenn Sie Remote verwenden, können Sie die Parameter der Nodes im laufenden Projekt überprüfen oder ändern.

../../../_images/overview_remote.webp

Bemerkung

Einige Editor-Einstellungen, die sich auf das Debugging beziehen, finden Sie in den Editor-Einstellungen, unter den Abschnitten Netzwerk > Debug und Debugger.