Studio bietet viele Debugging-Tools, die häufig in integrierten Entwicklungsumgebungen (IDEs) gefunden werden.Diese Tools helfen Ihnen, Fehler zu beheben und Skripte Zeile für Zeile zu inspizieren, während sie ausführenwerden.Debug-Info wird in der Watch, Anrufstapel, Abbaupunkte und Ausgabe-Fenster angezeigt, die du überprüfen kannst.
Allgemeiner Workflow
Wenn Sie ein Problem in Ihrer Erfahrung feststellen oder überprüfen möchten, dass es wie beabsichtigt funktioniert, können Sie den dazugehörigen Code wie folgt debuggen:
Füge Abbruchpunkte ein auf den Zeilen von Codes, die du untersuchen möchtest.
Klicke auf der Skript-Registerkarte auf Spielen oder Ausführen in der Test-Registerkarte, um eine Spieltest-Sitzung zu starten, auch bekannt als Debugging-Sitzung.
Wenn ein Skript einen Haltepunkterreicht, wird die Spieltest-Sitzung unterbrochen.Überprüfen Sie die Uhr, Anrufstapel und Ausgabe Fenster, um Ihnen bei der Diagnose und Verständnis des Problems zu helfen.
Füge zusätzliche Unterbrechungspunkte in Zeilen von Code ein, die noch nicht ausgeführt wurden, um zusätzliche Daten zu inspizieren.Deaktiviere oder lösche Abbaupunkte, die du nicht mehr benötigst.
Klicken Sie auf der Skript -Registerkarte auf Stopp , um die Debugging-Sitzung zu beenden.
Wiederhole die vorherigen Schritte, bis du das Problem gelöst oder seine Ursache gefunden hast.Wenn du den allgemeinen Workflow erlernst, kannst du die Bruchpunkte so konfigurieren, dass sie nur dann brechen, wenn bestimmte Bedingungen erfüllt sind, eine Nachricht in das Ausgabe-Fenster drucken und nur auf dem Client oder Server ausgeführt werden.Für weitere Informationen, siehe Bruchpunkt-Konfigurationen.
Pausenpunkte einfügen
Bruchpunkte sind Kontrollpunkte, die die Ausführung deiner Skripte an bestimmten Linien unterbrechen oder "brechen".Du kannst die Pausen verwenden, um dein Erlebnis zu inspizieren und zu debuggen, beobachte Variablen und inspiziere den Anrufstapel.Bruchpunkte sind einer der effektivsten Wege, um Funktionen zu debuggen, also sind sie eines der wichtigsten Debugging-Tools.Du kannst einen Breakpoint an jeder Ausführungszeile von Codeseinfügen.
Um einen Standard-Breakpoint in einer Zeile des Codes einzufügen, klicke links auf die Margen rechts von ihrer Zeilennummer.Du kannst auch mit der rechten Maustaste auf die Margen klicken und dann auf Einfügen-Abstandspunkt klicken.Der Breakpoint erscheint als roter Punkt.Um es zu deaktivieren, klicke auf den Punkt.

Schritt durch Codesgehen
Wenn du einen Pausenpunkt in einer Zeile in einem Skript, das. PL: die Skriptseinfügst, wird das Skript vor der Ausführung dieser Zeile unterbrochen.Ein gelber Pfeil namens "Debugger" zeigt an, welche Codezeile als nächstes ausgeführt wird.

Wenn das Skript pausiert, führe den folgenden Code eine Zeile nach der anderen aus, indem du mit den Schaltflächen in der Skript-Registerkarte durchläufst.Die Schaltflächen erscheinen auch in der oberen linken Ecke des Anrufstapels-Fensters.Wenn du durch den Codesgehst, überwache, wie sich deine Erfahrung ändert, wenn die aktuelle Linie ausgeführt wird.

Die folgende Tabelle fasst die drei Möglichkeiten zusammen, durch Code zu gehen.Um die Ausführung deines Codes fortzusetzen, nachdem du einen Haltepunkterreicht hast, klicke auf Fortsetzen in der Skript -Registerkarte.
Taste | Aktion | Tastenkürzel | Beschreibung |
---|---|---|---|
![]() | Schritt in | F11 | Die Schritt in Schaltfläche bewegt den Debugger in den Code der Funktion auf der aktuellen Zeile.Wenn es auf der aktuellen Linie keine Funktion gibt, bewegt sich der Debugger auf die nächste Linie. |
![]() | Schritt Über | F10 | Die Schritt Über -Taste bewegt den Debugger zur nächsten Zeile des Codes, nicht in Funktionen. |
![]() | Schritt nach außen | ShiftF11 | Die Schritt nach außen -Taste bewegt den Debugger aus der aktuellen Funktion und auf die nächste Zeile des Codes nach der Funktionsaufruf.Wenn die aktuelle Zeile nicht in einer Funktion ist, bewegt sich der Debugger zur nächsten Zeile. |
Codesinspizieren
Wenn ein Breakpoint die Erfahrung während eines Spiel testenunterbricht, kannst du das Beobachtungsfenster , das Anrufstapel -Fenster, das Ausgabe-Fenster und das Skript-Editor inspizieren, um Informationen über Variablenwerte und Funktionsausführungen zu finden.Mit diesen Informationen kannst du die Ursache des Problems in deiner Erlebnisfinden.
Ansehen
Das Watch -Fenster hat zwei Registerkarten: Variablen und Meine Uhren .Die Variablen -Registerkarte zeigt Informationen über die derzeitigen Variablen im Umfang an, und die Meine Uhren -Registerkarte zeigt den Wert von Variablen oder Ausdrücken an, die Sie definieren.Beide Registerkarten zeigen Informationen an, bevor die Zeile ausgeführt wird.
Die Variablen -Registerkarte hat die folgenden Spalten:
- Name – Der deklarierte Name der Variable.
- Bereich – Der Bereich der Variable: Wo sie "gesehen" und zugänglich gemacht werden kann, wie lokal, global oder Upvalue.
- Wert – Der aktuelle Wert der Variable.
- Datentyp – Der Datentyp der Variable.
Die Meine Uhren -Registerkarte hat die folgenden Spalten:
- Ausdruck – Der Ausdruck, den du beobachten möchtest.
- Wert – Der aktuelle Wert der Ausdruck.
- Datentyp – Der Datentyp der Ausdrücke.
In der Variablen -Registerkarte kannst du den Umfang der Variablen filtern, indem du auf das Symbolklickst.Du kannst auch die Zeilen sortieren, indem du auf den Namen der Spalte klickst, nach der sortiert werden soll.Das Anzeigefenster bietet erweiterte und zusammengezogene Ansichten von Tabellen.

Um Code im Beobachtungsfenster zu inspizieren:
Wenn das Watch -Fenster nicht geöffnet ist, klicken Sie auf Watch in der Ansicht-Registerkarte.
Wenn deine Spieltest-Sitzung an einem Punkt anhält, denke darüber nach, wie du erwartest, dass die aktuelle Zeile die Werte von Variablen in diesem Skript, das. PL: die Skriptsändert.
Wenn du durch den Codesgehst, beobachte, wie sich der Wert der Variablen im Variablen -Tab ändert.Wenn du eine Ausdruck nicht auf der Registerkarte Variablen anzeigen möchtest, öffne die Registerkarte Meine Uhren .Klicke auf eine leere Zeile in der Ausdruck-Säule und gib dann die Ausdruck in sie ein.Wenn du eine Variable im Skript-Editor anzeigen möchtest, klicke doppelt auf den Namen der Variable, dann klicke rechts auf Variable hinzufügen .
Vergleiche die Werte von Variablen und Ausdrücken mit dem, was du erwartest und was du im Beobachtungsfenster siehst.Wenn es einen Unterschied zwischen der Art und Weise, wie du erwartest, dass sich die Variablen ändern, und der tatsächlichen Art und Weise, wie sie sich ändern, gibt, können die Variablen oder die Funktionen, mit denen sie interagieren, Probleme oder Fehler verursachen.
Anrufstapel
Das Anrufstapel-Fenster zeigt an, welche Codezeile als nächstes ausgeführt wird, wenn der Debugger einen Haltepunkterreicht.Der Anrufstapel zeigt an, von welcher Zeile du eine Funktion aufrufst, und wenn du die Funktion in anderen Funktionen aufrufst, die Reihenfolge der Funktionsaufrufe und welche Zeilen du die anderen Funktionen aufrufst.Die oberste Funktion des Anrufstacks ist die zuletzt angerufene und erste zum Ausführen.Du kannst den Anrufstapel verwenden, um zu überprüfen, ob die Reihenfolge der Funktionsaufrufe in deinen Skripten mit deinem mentalen Modell der Funktionsaufrufe übereinstimmt.

Wenn du mehrere Unterbrechungspunkte in verschiedenen Skripten hast, könnten sie die Spieltest-Sitzung zur gleichen Zeit unterbrechen.Du kannst zu den Bruchpunkten springen, indem du auf den Pfeil neben dem Namen des Skripts im Anrufstapel-Fenster klickst.Wenn du auf Fortsetzen klickst, dann überschreitest du alle Brechpunkte, die zur gleichen Zeit angehalten wurden.

Um Code im Anrufstapel-Fenster während einer Debugging-Sitzung zu inspizieren:
Wenn das Anrufstapel-Fenster nicht geöffnet ist, klicken Sie auf Anrufstapel in der Ansicht-Registerkarte.
Wenn deine Erfahrung an einem Haltepunktpausiert, denke darüber nach, wie du erwartest, dass die Reihenfolge der Funktionsaufrufe in diesem Skript, das. PL: die Skriptsist.
Der Anrufstapel zeigt die Reihenfolge der Funktionsaufrufe an.Wenn der Bruchpunkt sich innerhalb einer Funktion befindet, zeigt der Anrufstapel an, welche Funktion diese Funktion aufruft, falls es welche gibt.Der Anrufstapel zeigt auch den Namen und die Zeilennummer jeder Funktion an.Klicken Sie auf die Zeile, um eine Funktion zu springen, die zu ihr springt.
Vergleiche die Reihenfolge der Funktionsaufrufe, die du im Schritt 2 gedacht hast, und die tatsächliche Reihenfolge aus Schritt 3.Wenn es Unterschiede gibt, dann gibt es einen Unterschied zwischen der Art und Weise, wie du den Code vermutest, und der tatsächlichen Art und Weise, wie er sich verhält, was zu möglichen Problemen und Fehlern führt.
Ausgang
Das Ausgabe-Fenster, das von der Ansicht-Registerkarte aus zugänglich ist, zeigt Fehler an, die durch das Ausführen von Skripten aufgezeichnet wurden, Nachrichten von der Roblox-Engine, Protokommeldungen und Fehler von Anrufen an print() und Anrufen an warn().
Skript-Editor
Der Debugger wird mit dem Skript-Editor integriert.Wenn deine Erfahrung an einem Punkt in einem Skript, das. PL: die Skriptspausiert, kannst du deine Maus über den Namen einer Variablen bewegen, um ihren Wert zu sehen.Zum Beispiel können Sie den Wert eines Tabells sehen, das Sie als Argument in einem Funktionsaufruf übergeben.

Konfiguration von Brechpunkten
Du kannst Breakpoints so konfigurieren, dass sie nur dann brechen, wenn bestimmte Bedingungen erfüllt sind, eine Nachricht in das Ausgabe-Fenster drucken und nur auf dem Client oder Server ausgeführt werden.Sie können diese Konfigurationen auch mischen, um Ihre Debugging-Anforderungen bestmöglich zu erfüllen.
Pausenpunkte bearbeiten
Du kannst die Konfiguration eines Breakpoints jederzeit bearbeiten, auch während des Spieltests.Wenn du während einer Spieltest-Sitzung Unterbrechungspunkte bearbeitest, bleiben die Änderungen bestehen, auch wenn du sie beendet hast.Du kannst auch einen Punkt bearbeiten, der deine Spieltest-Sitzung aktiv unterbricht, aber die Änderungen gelten nicht, bis die nächste Spieltest-Sitzung beginnt.
Um die Konfiguration eines Haltepunktzu bearbeiten:
Klicken Sie mit der rechten Maustaste auf den Haltepunkt, dann klicken Sie auf Bruchpunkt bearbeiten .
Konfiguriere im Bearbeitungspunkt-Fenster den Breakpoint wie gewünscht.
Bedingung, Nachrichtund Optionen
Für jeden Haltepunktkönnen Sie seine Bedingung , Lognachricht , Fortführung der Ausführung und Kontext festlegen.
Die Bedingung ist die Ausdruck, der bestimmt, ob der Breakpoint aktiviert wird.Die Bedingung ist optional.Wenn die Bedingung leer ist, wird der Breakpoint immer aktiviert.Wenn die Bedingung existiert, aktiviert sich der Breakpoint nur, wenn die Bedingung wahr ist.Wenn du zum Beispiel möchtest, dass der Breakpoint nur dann aktiviert wird, wenn die Variable n gleich 42 ist, dann lege die Bedingung als n == 42 fest.Bedingungen sind nützlich für die Fehlersuche, wie Funktionen ausgeführt werden, wenn bestimmte Variablen bestimmte Werte haben oder wenn du nur bei bestimmten Ausführungen in einer Schleife brechen möchtest.
Die Log-Nachricht ist die Ausdruck, der in das Ausgabe-Fenster gedruckt wird, wenn die Bedingung wahr ist.Das Format der Lognachricht ist das gleiche wie das Argument für eine print() Aussage.Zum Beispiel lege die Lognachricht als "The value of n:", n fest, um die gleiche Nachricht wie print("The value of n:", n) zu drucken.Sie können Lognachrichten hinzufügen und entfernen, ohne die Ausführung zu stoppen, im Gegensatz zu gedruckten Aussagen.
Die Option Ausführung fortsetzen bestimmt, ob der Breakpoint das Skript pausiert, wenn es aktiviert wird.Es ist nützlich, wenn Sie Werte von Variablen oder Ausdrücken ohne Unterbrechung der Ausführung protokollieren möchten.Diese Option ist standardmäßig deaktiviert.
Der Kontext eines Breakpoints bestimmt, ob der Breakpoint auf dem Client, Server oder Bearbeiten aktiviert werden soll.Wenn der Kontext Client ist, wird der Breakpoint in Client-seitigen Skripten ausgelöst.Wenn der Kontext Server ist, wird der Breakpoint in Server-seitigen Skripten ausgelöst.Wenn der Kontext Bearbeiten ist, wird der Breakpoint ausgelöst, wenn du Plugins debuggst.Wenn Sie auf benutzerdefinierten Kontext klicken, zeigt das Fenster den aktuellen Kontext an.

Bedingte Bruchpunkte und Logpunkte
Studio bietet benannte Variationen von Bruchpunkten an, um die Bruchpunkt-Einsätze schneller zu machen.Um eine benannte Variante einzufügen, klicken Sie mit der rechten Maustaste auf die Randleiste rechts von der Zeilennummer, dann klicken Sie auf die Variante, die Sie einfügen möchten.

Ein bedingter Breakpoint ist ein Breakpoint mit einer Bedingung und fortgesetzter Ausführung deaktiviert.Bedingte Unterbrechungspunkte pausieren dein Skript nur, wenn eine Bedingung wahr ist, also sind sie nützlich, um zu debuggen, wie Funktionen ausgeführt werden, wenn bestimmte Variablen bestimmte Werte haben.Bedingte Brechpunkte verwenden die Werte der Variablen, bevor die Linie ausgeführt wird.Wenn du einen Bedingungsbruchpunkt einfügst, fokussiert dein Cursor auf die Bedingungsoption , die du schnell festlegen kannst.
Ein Logpunkt ist ein Bruchpunkt mit einer Lognachricht und fortgesetzter Ausführung aktiviert.Logpoints protokollieren Nachrichten in das Ausgabe-Fenster, ohne deine Skripte anzuhalten, so dass sie für die Fehlersuche von Variablen nützlich sind.Logpunkte verwenden die Werte der Variablen, bevor die Zeile ausgeführt wird.Wenn du einen Logpunkt einfügst, fokussiert dein Cursor auf die Lognachricht , um sie schnell festzulegen.
Abbaupunkte deaktivieren
Es gibt viele Möglichkeiten, einen Haltepunktzu deaktivieren und wieder zu aktivieren:
- Klicken Sie auf das Symbol des Haltepunkt.
- Bearbeite den Bruchpunkt und schalte seine Aktivierungsbox ein/aus.
- Klicken Sie mit der rechten Maustaste auf das Breakpoint-Symbol und wählen Sie Deaktivieren von Breakpoint oder Aktivieren von Breakpoint.
Abbruchpunkte löschen
Um einen Haltepunktzu löschen, klicke mit der mittleren Maustaste auf sein Symbol. Du kannst auch mit der rechten Maustaste auf sein Symbol klicken und Breakpoint löschen wählen.
Abbaupunkte-Fenster
Das Bruchpunktfenster zeigt alle Bruchpunkte in deiner Erlebnisan.Um das Fenster "Ausbruchpunkte" zu öffnen, klicke auf die Registerkarte "Ansicht" oben in Studio und dann auf "Ausbruchpunkte".

Das Abbruchpunkt-Fenster hat die folgenden Spalten: unbenannt, Skript, Zeile, Quellzeile, Bedingung, Lognachricht und Fortsetzung der Ausführung.Die unbenannten, Skript- und Zeilen-Säulen werden immer angezeigt, aber du kannst die anderen Säulen umschalten, indem du auf die drei Punkte in der oberen rechten Ecke des Fensters klickst.
In der nicht gekennzeichneten Spalte zeigt das Label (x3) die Anzahl der Bruchpunkte auf derselben Codesan, und das Symbol zeigt die Bruchpunktkonfiguration an.Die Bruchpunkte auf derselben Linie teilen die gleiche Bedingung, Lognachricht und Fortsetzung der Ausführung, unterscheiden sich aber im Kontext.Du kannst die Konfiguration eines Breakpoints im Breakpoints-Fenster bearbeiten.Zum Beispiel können Sie die Bedingung eines Breakpoints bearbeiten, indem Sie das Textfeld in seiner Bedingungsspalte bearbeiten.

Du kannst Bruchpunkte aktivieren und deaktivieren, indem du auf sein Bruchpunkt-Symbol in der aktivierten Spalte klickst.Du kannst auch die folgenden Schaltflächen anklicken, um einige oder alle Brechpunkte zu aktivieren, zu deaktivieren und zu löschen.
Taste | Aktion |
---|---|
![]() | Deaktiviere alle Brechpunkte. Wenn irgendwelche Brechpunkte deaktiviert sind, aktiviere sie Alle. |
![]() | Lösche alle Bruchpunkte. |
Abbruchpunkt-Ikonen
Das Symbol eines Breakpoints hängt davon ab, ob es aktiviert ist, eine Bedingung hat und eine Nachrichthat.Wenn ein Breakpoint eine Nachrichthat, erscheint er als Logpunkt, unabhängig davon, ob er eine Bedingung hat oder nicht.
Namen | Symbol | Aktiviert | Bedingung | Protokollnachricht |
---|---|---|---|---|
Abbruchpunkt | ![]() | Ja | Nein | Nein |
![]() | Keine | Keine | Keine | |
Konditioneller Brechpunkt | ![]() | Ja | Ja | Nein |
![]() | Keine | Ja | Keine | |
Logpunkt | ![]() | Ja | Vielleicht | Ja |
![]() | Keine | Vielleicht | Ja |
Zusätzliche Fehlersuchentools
Zusätzlich zum Debugger bietet Studio zusätzliche Debugging-Tools, mit denen Sie Probleme und Fehler in Ihrer Erlebnisbeheben können.
Befehlsbalken
Die Befehlsleiste ermöglicht es Ihnen, Luau-Befehle auszuführen, während die Erfahrung läuft.Es ist in Studio verfügbar von der Ansicht -Registerkarte und in der Entwickler-Konsole.
Entwickler-Konsole
Die Entwicklerkonsole bietet ein breites Spektrum an Details, einschließlich Client- und Serverse输出, Speicherverbrauch, Erfüllungund mehr.Um die Entwicklerkonsole während des Tests oder Spiels einer Erlebniszu öffnen, gib /console in den Chat ein oder drücke F9.Weitere Informationen finden Sie unter Entwickler-Konsole.
Protokolldateien
Wenn ein Skript druckt oder Fehler in Studio oder der Spieler-App auftreten, speichert die App die Nachricht in einem Log-Datei im lokalen Dateisystem.Diese Dateien befinden sich an verschiedenen Orten, je nach Betriebssystem.
Fenster
Um auf Windows Logdateien zuzugreifen:
- Öffne Datei-Explorer .
- Navigiere zum %LOCALAPPDATA%\Roblox\logs Ordner.
- Klicken Sie doppelt auf ein Log, um es zu öffnen. Logs mit demselben XXXXX sind aus derselben Studio-Sitzung.
Mac
Um auf dem Mac Logdateien zuzugreifen:
- Öffne Finder .
- Wählen Sie in der Menüleiste Gehen > Gehe zum Ordner... .
- Geben Sie im Dialog ~/Library/Logs/Roblox ein.
- Klicken Sie doppelt auf das Ergebnis, um zum Roblox-Logs-Verzeichnis zu navigieren.
- Im Inneren des Verzeichnisses klicken Sie zweimal auf ein Log, um es zu öffnen.
iOS
Du kannst iOS-Logs mit einem Mac oder mit einem iOS-Gerät sammeln.
Um auf einem Mac iOS-Protokolldateien zuzugreifen:
- Verbinde das iOS-Gerät mit einem Mac.
- Öffne Finder .
- Navigiere zu Utilities und öffne die Konsole -Anwendung.
- Um Echtzeit-Protokolle in der Konsolen-Anwendung zu füllen, wählen Sie das iOS-Gerät aus der Seitenleiste, klicken Sie auf die Schaltfläche Start und reproduzieren Sie das Problem auf dem iOS-Gerät.
- Um archivierte Protokolle in der Konsole-Anwendung zu füllen, führen Sie sudo log collect --device-name "[iOS Device Name]" im Terminal aus.Stellen Sie sicher, dass es keine apostrophen im Namen des Geräts gibt, oder Sie erhalten möglicherweise einen Fehler, wenn Sie den Befehl ausführen.
Android
Um auf Android Logdateien zuzugreifen:
- Navigiere zu Einstellungen > System > Entwickleroptionen .
- Schalte Entwickleroptionen ein.
- Auf einem Computer herunterladen und installieren Android Studio.
- In Android Studio klicken Sie auf Logcat .
- Verbinde das Android-Gerät mit dem Computer, um Logcat automatisch mit Logs zu füllen.