Ulepszenia debuggera Lua!

Z radością ogłaszamy dziś gruntowną przebudowę naszego debuggera Lua! Ta funkcja została zaprojektowana, aby pomóc Ci zrozumieć, w jaki sposób wykonywany jest Twój kod, oraz skuteczniej identyfikować błędy niż powszechnie stosowane opcje, takie jak instrukcje print. Jeśli ostatnio nie korzystałeś z debuggera Lua, zapraszamy do zapoznania się z tym, jak można go wykorzystać do skuteczniejszego debugowania kodu. Zanim opiszemy najnowsze ulepszenia i poprawki, przyjrzyjmy się pokrótce kluczowym funkcjom debuggera Lua.
Punkty przerwania
Wstawianie punktów przerwania do kodu pozwala zatrzymać grę w dowolnym momencie, aby sprawdzić jej logikę. Aby użyć punktów przerwania, zlokalizuj w przybliżeniu miejsce, w którym gra działa nieprawidłowo, i ustaw punkty przerwania w tych instrukcjach, w których potrzebujesz więcej informacji, klikając po lewej stronie linii kodu. Kod tymczasowo przestanie się wykonywać, a wszystkie zmienne globalne i lokalne, właściwości oraz odwołania do obiektów będą przedstawiać wartości, które zostały im przypisane w grze do tego momentu.

Przechodź krok po kroku przez kod
Po zatrzymaniu kodu w określonym punkcie przerwania możesz skupić się na diagnozowaniu tego, co się dzieje. Na przykład, gdy dotrzesz do innych wywołań funkcji, możesz przejść do tych funkcji i sprawdzić, co one robią. Możesz również wyjść z dowolnej funkcji, co spowoduje uruchomienie kodu do momentu powrotu funkcji i zatrzymania się przy następnej instrukcji w kodzie, która ją wywołała. Ta funkcja pozwala dokładnie obserwować, jak zmienne zmieniają się w czasie i które funkcje są wywoływane.


Obserwuj zmiany w zmiennych
Opcja „Dodaj obserwację” pozwala poinformować debugger Lua, które zmienne chcesz śledzić lub obserwować, gdy napotkają punkty przerwania. Aby dodać element do listy obserwowanych, wystarczy zaznaczyć zmienną i kliknąć ją prawym przyciskiem myszy w widoku skryptu, a następnie kliknąć pozycję menu „Dodaj obserwację”. Alternatywnie można kliknąć przycisk „Dodaj obserwację” i wpisać nazwę zmiennej. Spowoduje to automatyczne pobranie informacji o wartości obserwowanej zmiennej po osiągnięciu punktów przerwania.

Stos wywołań
Okno stosu wywołań przedstawia listę funkcji, które są wywoływane jedna po drugiej w kolejności. Na przykład funkcja A wywołuje funkcję B, która z kolei wywołuje funkcję C zawierającą wbudowany punkt przerwania. Następnie, gdy wykonanie zatrzyma się w tym punkcie przerwania, stos wyświetli kolejność wywoływania poszczególnych funkcji wraz z miejscem, w którym nastąpiło wywołanie. Obserwując zmienne lokalne w funkcji C, można również przełączać się między funkcjami w stosie i zmieniać kontekst funkcji aktualnie wybranej na liście stosu oraz badać zmiany w tych zmiennych lokalnych.

Korzystanie z debuggera Lua
Dostęp do debuggera Lua można uzyskać podczas edycji skryptów w Roblox Studio. Aby rozpocząć i dodać punkty przerwania do kodu, wystarczy kliknąć po lewej stronie linii kodu w oknie skryptu, w której chcesz wstrzymać działanie. Każda linia, którą klikniesz i oznaczysz jako punkt przerwania, zostanie zaznaczona czerwoną kropką.

Gdy tylko uruchomisz grę w trybie testowym, możesz włączyć opcje Breakpoint, Add Watch i Call Stack w menu View i zbadać zachowanie kodu pod głównym oknem wyświetlania. To takie proste! Jeśli nie korzystałeś wcześniej z Lua Debugger, zachęcamy do wypróbowania go.
Nowe ulepszenia
Po omówieniu kluczowych funkcji debuggera Lua wprowadziliśmy ostatnio szereg istotnych ulepszeń i poprawek, w tym:
- Naprawiono błąd, który powodował, że właściwy skrypt mógł się nie otwierać w punkcie przerwania lub z okna stosu wywołań.
- Naprawiono podświetlanie bieżącej linii w Lua Debuggerze.
- Błędy protected call lub pcall są teraz prawidłowo wykrywane.
- Dodano tabele mieszane, które pozwalają obserwować i śledzić wartości. Można również najechać kursorem na zmienną tabeli i natychmiast zobaczyć wszystkie wartości bez konieczności ich drukowania.
- Różne drobne ulepszenia interfejsu użytkownika.
- Różne poprawki dotyczące podpowiedzi i okna „Dodaj obserwację”.
- Po najechaniu kursorem myszy na zmienne jednoznakowe teraz poprawnie wyświetla się wartość zmiennej.
- Wszystkie właściwości są teraz wymienione w podpowiedzi i oknie Obserwuj, bez żadnych braków.
Zależy nam na tym, aby zapewnić utalentowanej społeczności programistów Roblox narzędzia, których potrzebują. Chętnie poznamy Wasze opinie na temat tego, jak możemy dalej ulepszać Lua Debugger na forum deweloperów.


