Die Inhalte dieser Website wurden mithilfe künstlicher Intelligenz (KI) oder maschineller Übersetzungstechnologie übersetzt und können Fehler enthalten.

Skip to content

Verbesserungen am Lua-Debugger!

Wir freuen uns, heute eine umfassende Überarbeitung unseres Lua-Debuggers bekannt zu geben! Diese Funktion soll Ihnen helfen, die Ausführung Ihres Codes besser zu verstehen und Fehler effektiver zu identifizieren als mit gängigen Methoden wie Print-Anweisungen. Falls Sie den Lua-Debugger in letzter Zeit noch nicht ausprobiert haben, laden wir Sie ein, zu erkunden, wie Sie ihn nutzen können, um Ihren Code effektiver zu debuggen. Bevor wir die neuesten Verbesserungen und Fehlerbehebungen beschreiben, lassen Sie uns kurz die wichtigsten Funktionen des Lua-Debuggers Revue passieren.

Haltepunkte

Durch das Einfügen von Haltepunkten in Ihren Code können Sie das Spiel an jeder beliebigen Stelle anhalten, um dessen Logik zu überprüfen. Um Haltepunkte zu verwenden, ermitteln Sie ungefähr, an welcher Stelle Ihr Spiel fehlerhaft läuft, und setzen Sie Haltepunkte an den Anweisungen, zu denen Sie weitere Informationen benötigen, indem Sie links neben der Codezeile klicken. Die Ausführung Ihres Codes wird vorübergehend angehalten, und alle globalen und lokalen Variablen, Eigenschaften und Objektreferenzen zeigen die Werte an, die ihnen bis zu diesem Zeitpunkt im Spiel zugewiesen wurden.

In diesem Beispiel wurde an der print-Anweisung ein Haltepunkt gesetzt, sodass Sie den Wert der definierten Variablen überprüfen können, indem Sie den Mauszeiger darüber bewegen.

Schrittweise durch den Code gehen

Wenn Sie Ihren Code an einem bestimmten Haltepunkt angehalten haben, können Sie sich darauf konzentrieren, zu diagnostizieren, was gerade passiert. Wenn Sie beispielsweise andere Funktionsaufrufe erreichen, können Sie in diese Funktionen „eintreten“ und untersuchen, was sie tun. Sie können auch aus einer beliebigen Funktion „heraustreten“, wodurch der Code dann weiter ausgeführt wird, bis die Funktion zurückkehrt und bei der nächsten Anweisung im Code, die sie aufgerufen hat, anhält. Diese Funktion ermöglicht es Ihnen, genau zu beobachten, wie sich Variablen im Laufe der Zeit ändern und welche Funktionen aufgerufen werden.

In diesem Beispiel springt der Debugger durch Klicken auf die Schaltfläche „Step Into“ in die Funktion testFunc( )
In diesem Beispiel springt der Debugger durch Klicken auf die Schaltfläche „Step Out“ aus der Funktion „testFunc( )“ heraus und zur nächsten Codezeile nach dem ersten Aufruf der Funktion.

Änderungen an Ihren Variablen überwachen

Mit „Beobachten hinzufügen“ können Sie dem Lua-Debugger mitteilen, welche Variablen Sie verfolgen oder beobachten möchten, wenn sie auf Haltepunkte treffen. Um einen Eintrag zur Beobachtungsliste hinzuzufügen, markieren Sie einfach eine Variable, klicken Sie in der Skriptansicht mit der rechten Maustaste darauf und wählen Sie den Menüpunkt „Beobachten hinzufügen“. Alternativ können Sie auf die Schaltfläche „Beobachten hinzufügen“ klicken und den Namen der Variablen eingeben. Dadurch werden automatisch Informationen über den Wert der beobachteten Variablen abgerufen, wenn Haltepunkte erreicht werden.

In diesem Beispiel springt der Debugger durch Klicken auf die Schaltfläche „Step Out“ aus der Funktion „testFunc( )“ heraus und zur nächsten Codezeile nach dem ersten Aufruf der Funktion.

Aufrufstapel

Das Call-Stack-Fenster zeigt eine Liste der Funktionen an, die nacheinander voneinander aufgerufen werden. Beispielsweise ruft Funktion A die Funktion B auf, die wiederum die Funktion C aufruft, die einen eingebetteten Haltepunkt enthält. Wenn die Ausführung dann an diesem Haltepunkt stoppt, zeigt der Stack die Reihenfolge an, in der die einzelnen Funktionen aufgerufen wurden, sowie die Stelle, an der der Aufruf erfolgte. Während Sie die lokalen Variablen in Funktion C beobachten, können Sie auch zwischen den Funktionen im Stack wechseln, den Kontext der aktuell in der Stack-Liste ausgewählten Funktion ändern und die Änderungen an diesen lokalen Variablen untersuchen.

In diesem Beispiel können Sie sehen, an welcher Stelle im Spiel Sie sich befinden, wenn das Spiel an einem Haltepunkt im Code angehalten wird. Wenn die aktuelle Codezeile von einer Funktion aufgerufen wurde, die wiederum aus einer anderen Funktion heraus aufgerufen wurde, zeigt der Aufrufstapel die Reihenfolge an, in der die Funktionen aufgerufen wurden, zusammen mit der Zeilennummer, an der der Aufruf erfolgte.

Verwendung des Lua-Debuggers

Der Lua-Debugger ist jederzeit verfügbar, wenn Sie Skripte in Roblox Studio bearbeiten. Um loszulegen und Haltepunkte in Ihren Code einzufügen, klicken Sie einfach links neben die Codezeile im Skriptfenster, an der Sie anhalten möchten. Jede Zeile, auf die Sie klicken und die Sie als Haltepunkt festlegen, wird mit einem roten Punkt markiert.

Sobald Sie Ihr Spiel testen, können Sie im Menü „Ansicht“ die Optionen „Haltepunkt“, „Beobachten hinzufügen“ und „Aufrufstapel“ aktivieren und das Verhalten Ihres Codes unterhalb des Hauptansichtsfensters untersuchen. So einfach ist das! Wenn Sie den Lua-Debugger noch nicht verwendet haben, empfehlen wir Ihnen, ihn auszuprobieren.

Neue Verbesserungen

Nachdem wir nun die wichtigsten Funktionen des Lua-Debuggers besprochen haben, möchten wir darauf hinweisen, dass wir kürzlich eine Reihe bedeutender Verbesserungen und Fehlerbehebungen vorgenommen haben, darunter:

  • Es wurde ein Problem behoben, bei dem das richtige Skript möglicherweise nicht an einem Breakpoint oder über das Call-Stack-Fenster geöffnet wurde.
  • Die Hervorhebung der aktuellen Zeile im Lua-Debugger wurde korrigiert.
  • Fehler bei „protected call“ oder „pcall“ werden nun korrekt erkannt.
  • Es wurden gemischte Tabellen hinzugefügt, mit denen Sie Werte beobachten und verfolgen können. Sie können auch mit der Maus über eine Tabellenvariable fahren und alle Ihre Werte sofort sehen, ohne sie ausdrucken zu müssen.
  • Verschiedene kleinere Verbesserungen an der Benutzeroberfläche.
  • Verschiedene Korrekturen an Tooltips und dem Fenster „Beobachtung hinzufügen“.
    • Wenn Sie mit der Maus über Variablen mit einem einzelnen Zeichen fahren, wird nun der Variablenwert korrekt angezeigt.
    • Alle Eigenschaften werden nun im Tooltip und im „Watch“-Fenster aufgelistet, ohne dass Eigenschaften fehlen.

Wir sind bestrebt, der talentierten Roblox-Entwickler-Community die Tools zur Verfügung zu stellen, die sie benötigt. Wir würden uns sehr über Ihr Feedback dazu freuen, wie wir den Lua-Debugger im Entwicklerforum weiter verbessern können.