Debugging

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Studio bietet viele Debugging-Tools und Workflows, die typischerweise in integrierten Entwicklungsumgebungen (IDEs) zu finden sind. Diese helfen Ihnen, Fehler in Skripten während ihrer Ausführung zu inspizieren und zu beheben.

Breakpoint-Debugging

Breakpoints sind Kontrollpunkte, die die Ausführung Ihrer Skripte an bestimmten Zeilen anhalten oder "brechen". Sie können die Pausen nutzen, um Ihre Erfahrung zu inspizieren und zu debuggen, Variablen zu überwachen und den Call Stack zu inspizieren. Breakpoints sind eine der effektivsten Methoden zum Debuggen von Funktionen, daher sind sie eines der wichtigsten Debugging-Tools.

Verwaltung

Im Script Editor können Sie verschiedene Arten von Breakpoints einfügen und die Konfiguration eines Breakpoints jederzeit bearbeiten, auch während Testspiel-Sitzungen. Wenn Sie Breakpoints während einer Testspiel-Sitzung bearbeiten, bleiben die Änderungen bestehen, auch nachdem Sie die Sitzung beendet haben. Sie können auch einen Breakpoint bearbeiten, der Ihre Testspiel-Sitzung aktiv pausiert, jedoch werden die Änderungen erst in der nächsten Testspiel-Sitzung wirksam.

Einfügen

Breakpoints haben mehrere Varianten und können an jeder Zeile ausführbaren Codes wie folgt eingefügt werden:

Um einen Standard-Breakpoint an einer Codezeile einzufügen, klicken Sie in den Rand direkt rechts von der Zeilennummer. Alternativ können Sie mit der rechten Maustaste in den Rand klicken und Breakpoint einfügen auswählen. Das Breakpoint-Symbol erscheint als roter Kreis.

Standard-Breakpoint im Script Gutter angezeigt

Deaktivieren

Um einen Breakpoint vorübergehend zu deaktivieren, ohne ihn zu löschen, verwenden Sie eine der folgenden Workflows:

  • Klicken Sie auf das Breakpoint-Symbol.
  • Klicken Sie mit der rechten Maustaste auf das Breakpoint-Symbol und wählen Sie Breakpoint deaktivieren.
  • Bearbeiten Sie den Breakpoint und schalten Sie das Kontrollkästchen Aktiviert aus.

Ein deaktivierter Breakpoint erscheint als hohle Version seines aktivierten Symbols, zum Beispiel ein hohler Kreis für einen deaktivierten Standard-Breakpoint oder ein hohler Diamant für einen deaktivierten Logpoint.

Deaktivierter Standard-Breakpoint im Script Gutter angezeigt
Deaktivierter Standard-Breakpoint
Deaktivierter Logpoint im Script Gutter angezeigt
Deaktivierter Logpoint

Löschen

Um einen Breakpoint zu löschen, klicken Sie mit dem mittleren Maustaste auf das Symbol oder klicken Sie mit der rechten Maustaste auf das Symbol und wählen Sie Breakpoint löschen.

Bearbeiten

Sie können die Konfiguration eines Breakpoints jederzeit bearbeiten, einschließlich während Testspiel-Sitzungen. Wenn Sie Breakpoints während einer Testspiel-Sitzung bearbeiten, bleiben die Änderungen bestehen, auch nachdem Sie die Sitzung beendet haben. Sie können auch einen Breakpoint bearbeiten, der Ihre Testspiel-Sitzung aktiv pausiert, jedoch werden die Änderungen erst in der nächsten Testspiel-Sitzung wirksam.

Um einen Breakpoint zu bearbeiten:

  1. Klicken Sie mit der rechten Maustaste auf das Breakpoint-Symbol und wählen Sie Breakpoint bearbeiten.

  2. Im Breakpoint bearbeiten Fenster konfigurieren Sie den Breakpoint nach Wunsch. Sie können diese Konfigurationen mischen, um Ihre Debugging-Bedürfnisse bestmöglich zu erfüllen.

    OptionBeschreibung
    BedingungEin optionaler Ausdruck, der bestimmt, ob der Breakpoint aktiviert wird. Wenn die Bedingung leer ist, wird der Breakpoint immer aktiviert. Wenn die Bedingung existiert, wird der Breakpoint zu einem bedingten Breakpoint und wird nur aktiviert, wenn die Bedingung wahr ist. Zum Beispiel, wenn Sie möchten, dass der Breakpoint nur aktiviert wird, wenn die Variable var 10 entspricht, setzen Sie die Bedingung auf var == 10.
    ProtokollnachrichtEin Ausdruck, der im Output Fenster ausgegeben wird, wenn der Breakpoint erreicht wird. Das Format der Protokollnachricht ist dasselbe wie das eines print()-Statements. Zum Beispiel, setzen Sie die Protokollnachricht als "Der Wert von var:", var, um dieselbe Nachricht wie print("Der Wert von var:", var) auszugeben.
    Ausführung fortsetzenBestimmt, ob der Breakpoint das Skript pausiert, wenn es aktiviert wird. Diese Option ist standardmäßig deaktiviert, es sei denn, der eingefügte Breakpoint ist ein Logpoint.
    Breakpoint bei Treffer entfernenWenn aktiviert, entfernt der Breakpoint sich automatisch nach der ersten Testspiel-Sitzung, was ihn effektiv zu einem temporären Breakpoint macht.
    Auslösen beiDer Kontext eines Breakpoints bestimmt, ob er im Client (client-seitige Skripte), Server (server-seitige Skripte) oder Bearbeiten (Debuginformationen für Plugin Skripte) aktiviert werden sollte. Wenn Sie Benutzerdefinierter Kontext wählen, zeigt das Fenster die aktuellen Auslösekontexte an.

Workflow

Der typische Workflow für das Debugging mit Breakpoints ist wie folgt:

  1. Öffnen Sie das Skript, das Sie debuggen möchten, und fügen Sie Breakpoints an den Zeilen ein, die Sie untersuchen möchten.

  2. Starten Sie von Studios Mezzanine aus eine Testspiel-Sitzung, um mit dem Debuggen zu beginnen.

    Testoption im Dropdown-Menü der Testspielmodi von Studio.
  3. Wenn das Skript einen Breakpoint erreicht, pausiert die Testspiel-Sitzung, es sei denn, dieser Breakpoint ist konfiguriert worden, um die Ausführung fortzusetzen. Ein gelber Pfeil über dem Breakpoint zeigt an, welche Codezeile als nächstes ausgeführt wird.

    Aktiver Breakpoint im Debugger mit gelbem Pfeil angezeigt
  4. Während das Skript pausiert, verwenden Sie das Breakpoints Fenster, das Watch Fenster, das Call Stack Fenster, das Output Fenster und den Script Editor, um Informationen zu Variablenwerten und Funktionsausführungen zu finden.

  5. Um die Ausführung des Codes nach dem Erreichen eines Breakpoints fortzusetzen, klicken Sie auf Skripte fortsetzen im Mezzanine.

    Schaltfläche Skripte fortsetzen im Studio-Mezzanine angezeigt

    Sie können auch den Code zeilenweise mit den Schritt-Buttons im Mezzanine ausführen:

    Breakpoint-Schritt-Buttons im Studio-Mezzanine angezeigt
    AktionShortcutBeschreibung
    Schritt hineinF11Die Schaltfläche Schritt hinein bewegt den Debugger in den Code der Funktion in der aktuellen Zeile. Wenn sich in der aktuellen Zeile keine Funktion befindet, bewegt sich der Debugger zur nächsten Zeile.
    Schritt überF10Die Schaltfläche Schritt über bewegt den Debugger zur nächsten Codezeile, ohne in Funktionen zu wechseln.
    Schritt herausShiftF11Die Schaltfläche Schritt heraus bewegt den Debugger aus der aktuellen Funktion und zur nächsten Zeile nach dem Funktionsaufruf. Wenn sich die aktuelle Zeile nicht innerhalb einer Funktion befindet, bewegt sich der Debugger zur nächsten Zeile.
  6. Wenn Sie mit dem Debuggen der aktuellen Sitzung fertig sind, klicken Sie auf die Schaltfläche Stop.

    Stop-Schaltfläche im Studio-Mezzanine angezeigt.

Überwachung

Studio umfasst mehrere Fenster und Tools, um Variablenwerte und Funktionsausführungen während des Debuggens zu überwachen. Mit diesen Informationen können Sie die Grundursache der meisten Probleme in Ihren Skripten finden.

Breakpoint-Schaltfläche im Studio-Toolbar angezeigt.

Breakpoints

Das Breakpoints Fenster ist eine einheitliche Ansicht, die alle Breakpoints in allen Skripten anzeigt. Um es zu öffnen, klicken Sie auf Breakpoints in der Symbolleiste der Script-Registerkarte von Studio oder navigieren Sie zum Menü Fenster ⟩ Debug und schalten Sie Breakpoints ein.

Im Fenster werden die Spalten Script und Zeile immer angezeigt, und Sie können andere Konfigurations-Spalten über das -Menü in der oberen rechten Ecke ein- oder ausblenden. Innerhalb der Script-Spalte können Sie mit der rechten Maustaste auf einen Breakpoint klicken, um ein Optionsmenü zur Bearbeitung, Deaktivieren/Aktivieren, Löschen oder Springen zu der Zeile des Breakpoints im Skript aufzurufen.

Breakpoints-Fenster in Studio

Während einer Debugging-Sitzung zeigt die weiteste linke Spalte (x3) an, dass mehrere Kontexte (Client, Server, Edit) für den Breakpoint vorhanden sind. Indem Sie einen Zweig eines Breakpoints erweitern, können Sie auf das Symbol neben einem bestimmten Kontext klicken, um es für diesen Kontext deaktivieren/aktivieren zu können, z. B. einen Breakpoint nur im Client-Kontext zu deaktivieren, während er im Server-Kontext aktiviert bleibt.

Breakpoint erweitert, um Kontexte anzuzeigen

Call Stack

Das Call Stack Fenster, das über die Symbolleiste der Script-Registerkarte von Studio oder das Menü Fenster ⟩ Debug zugänglich ist, zeigt an, welche Zeile Code als nächstes ausgeführt wird, wenn der Debugger einen Breakpoint erreicht. Wenn Sie Funktionen aus anderen Funktionen heraus aufrufen, zeigt es an, von welchen Zeilen diese Funktionen aufgerufen wurden, sodass Sie überprüfen können, ob der tatsächliche Aufruffluss dem erwarteten entspricht.

Call-Stack-Fluss in einem Skript Call-Stack-Fluss im Call-Stack-Fenster

Während das Skript an Breakpoints pausiert, verwenden Sie die Schritt-Buttons im Mezzanine, um in eine Funktion/Zeile hinein, darüber oder aus einer Funktion/Zeile heraus zu treten, wie im Workflow beschrieben.

Breakpoint-Schritt-Buttons im Studio-Mezzanine angezeigt

Watch

Das Watch-Fenster, das über die Symbolleiste der Script-Registerkarte von Studio oder das Menü Fenster ⟩ Debug zugänglich ist, ermöglicht es Ihnen, aktiv die Werte von Variablen und Ausdrücken zu überwachen, während Sie durch die Breakpoints treten.

Der Variablen-Tab zeigt Informationen über die aktuellen Variablen im Geltungsbereich, filterbar durch Klicken auf die Schaltfläche Alle Geltungsbereiche in der oberen Leiste des Fensters. Das Erweitern eines Zweigs zeigt die Mitglieder dieser Variablen oder Instanz und deren Werte. Sie können auch jede Variable überwachen, indem Sie sie im Script Editor markieren, mit der rechten Maustaste klicken und Watch hinzufügen aus dem Popup-Menü auswählen.

Zu überwachende Variablen innerhalb eines SkriptsVariableninformationen im Watch-Fenster

Script Editor

Der Debugger ist in den Script Editor integriert. Wenn Ihre Erfahrung an einem Breakpoint in einem Skript pausiert, können Sie den Mauszeiger über den Namen einer Variable bewegen, um ihren Wert zu sehen. Beispielsweise können Sie die Zusammensetzung einer Tabelle und ihrer enthaltenen Schlüssel/Werte sehen.

Maus über eine Variable im Script Editor, um den Wert anzuzeigen

Zusätzliche Debugging-Tools

Neben dem Debugger bietet Studio weitere Debugging-Tools, um Probleme und Bugs in Ihrer Erfahrung zu beheben.

Befehlsleiste

Die Befehlsleiste ermöglicht es Ihnen, Luau-Befehle auszuführen, während die Erfahrung läuft. Sie ist in Studio im Menü Fenster ⟩ Script und in der Entwicklerkonsole verfügbar.

Entwicklerkonsole

Die Entwicklerkonsole bietet eine Vielzahl von Details, einschließlich Client- und Serverausgaben, Speicherverbrauch, Netzwerkleistung und mehr. Um die Konsole während des Testens oder Spielens einer Erfahrung zu öffnen, geben Sie /console in den Chat ein oder drücken Sie F9.

Protokolldateien

Wenn ein Skript in Studio oder der Player-App etwas ausgibt oder einen Fehler auftritt, wird die Nachricht in einer Protokolldatei im lokalen Dateisystem aufgezeichnet. Diese Dateien befinden sich an unterschiedlichen Orten, je nach Betriebssystem.

Windows

Um auf Protokolldateien unter Windows zuzugreifen:

  1. Öffnen Sie Datei-Explorer.
  2. Navigieren Sie zum Verzeichnis %LOCALAPPDATA%\Roblox\logs.
  3. Doppelklicken Sie auf ein Protokoll, um es zu öffnen. Protokolle mit demselben Wert XXXXX stammen aus derselben Studio-Sitzung.

Mac

Um auf Protokolldateien auf Mac zuzugreifen:

  1. Öffnen Sie Finder.
  2. Wählen Sie in der Menüleiste Gehe zuGehe zum Ordner....
  3. Geben Sie im Dialogfeld ~/Library/Logs/Roblox ein.
  4. Doppelklicken Sie auf das Ergebnis, um zum Roblox-Protokollverzeichnis zu gelangen.
  5. Doppelklicken Sie innerhalb des Verzeichnisses auf ein Protokoll, um es zu öffnen.

iOS

Sie können iOS-Protokolle mit einem Mac oder einem iOS-Gerät sammeln.

Um auf iOS-Protokolldateien auf einem Mac zuzugreifen:

  1. Verbinden Sie das iOS-Gerät mit einem Mac.
  2. Öffnen Sie Finder.
  3. Navigieren Sie zu Dienstprogramme und öffnen Sie die Anwendung Konsole.
  4. Um Echtzeitprotokolle in der Konsole-Anwendung zu sammeln, 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.
  5. Um archivierte Protokolle in der Konsole-Anwendung zu sammeln, führen Sie sudo log collect --device-name "[iOS Device Name]" im Terminal aus. Stellen Sie sicher, dass im Gerätenamen keine Apostrophe enthalten sind, da dies sonst zu einem Fehler führen kann, wenn Sie den Befehl ausführen.

Android

Um auf Protokolldateien auf Android zuzugreifen:

  1. Navigieren Sie zu EinstellungenSystemEntwickleroptionen.
  2. Aktivieren Sie Entwickleroptionen.
  3. Laden Sie auf einem Computer Android Studio herunter und installieren Sie es.
  4. Klicken Sie in Android Studio auf Logcat.
  5. Verbinden Sie das Android-Gerät mit dem Computer, um Logcat automatisch mit Protokollen zu füllen.
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.