Studio oferuje wiele narzędzi do debugowania i przepływów pracy powszechnie znajdujących się w Zintegrowanych Środowiskach Programistycznych (IDE). Pomagają one w inspekcji i rozwiązywaniu błędów w skryptach w miarę ich działania.
Debugowanie punktów przerwania
Punkty przerwania to punkty kontrolne, które wstrzymują lub „łamią” wykonanie twoich skryptów w określonych liniach. Możesz używać tych wstrzymań do inspekcji i debugowania swojego doświadczenia, obserwowania zmiennych oraz inspekcji stosów wywołań. Punkty przerwania są jednym z najskuteczniejszych sposobów na debugowanie funkcji, dlatego są jednym z najważniejszych narzędzi debugowania.
Zarządzanie
W Edytorze skryptów możesz wkleić kilka typów punktów przerwania oraz edytować konfigurację punktu przerwania w dowolnym momencie, w tym podczas sesji testowych. Jeśli edytujesz punkty przerwania podczas sesji testowej, zmiany będą zachowane nawet po jej zakończeniu. Możesz także edytować punkt przerwania, który aktywnie wstrzymuje twoją sesję testową, ale zmiany nie wejdą w życie do następnej sesji testowej.
Wklej
Punkty przerwania mają różne warianty i mogą być wklejane w dowolnej linii wykonalnego kodu w następujący sposób:
Aby wstawić standardowy punkt przerwania w linii kodu, kliknij w marginesie bezpośrednio po prawej stronie numeru linii. Alternatywnie, kliknij prawym przyciskiem myszy w marginesie i wybierz Wstaw punkt przerwania. Ikona punktu przerwania pojawia się jako czerwone kółko.

Wyłącz
Aby tymczasowo wyłączyć punkt przerwania bez usuwania go, użyj dowolnego z następujących przepływów pracy:
- Kliknij ikonę punktu przerwania.
- Kliknij prawym przyciskiem myszy ikonę punktu przerwania i wybierz Wyłącz punkt przerwania.
- Edytuj punkt przerwania i przełącz jego pole wyboru Włączony.
Wyłączony punkt przerwania pojawia się jako puste wersja jego aktywnej ikony, na przykład puste kółko dla wyłączonego standardowego punktu przerwania lub pusty diament dla wyłączonego logpoint.


Usuń
Aby usunąć punkt przerwania, kliknij w środkowy przycisk na jego ikonie lub kliknij prawym przyciskiem myszy ikonę i wybierz Usuń punkt przerwania.
Edytuj
Możesz edytować konfigurację punktu przerwania w dowolnym momencie, w tym podczas sesji testowych. Jeśli edytujesz punkty przerwania podczas sesji testowej, zmiany będą zachowane nawet po jej zakończeniu. Możesz także edytować punkt przerwania, który aktywnie wstrzymuje twoją sesję testową, ale zmiany nie wejdą w życie do następnej sesji testowej.
Aby edytować punkt przerwania:
Kliknij prawym przyciskiem myszy ikonę punktu przerwania i wybierz Edytuj punkt przerwania.
W oknie Edytuj punkt przerwania skonfiguruj punkt przerwania według potrzeb. Możesz łączyć te konfiguracje, aby najlepiej odpowiadały twoim potrzebom debugowania.
Opcja Opis Warunek Opcjonalny wyrażenie, które określa, czy punkt przerwania jest aktywowany. Jeśli warunek jest pusty, punkt przerwania zawsze się aktywuje. Jeśli warunek istnieje, punkt przerwania staje się warunkowym punktem przerwania i aktywuje się tylko wtedy, gdy warunek jest prawdziwy. Na przykład, jeśli chcesz, aby punkt przerwania aktywował się tylko wtedy, gdy zmienna var równa się 10, ustaw warunek na var == 10. Wiadomość dziennika Wyrażenie, które drukuje się w oknie Wyjście, gdy punkt przerwania jest trafiony. Format wiadomości dziennika jest taki sam jak w przypadku wyrażenia print(). Na przykład, ustaw wiadomość dziennika na "Wartość var:", var, aby uzyskać tę samą wiadomość jak w print("Wartość var:", var). Kontynuuj wykonanie Określa, czy punkt przerwania zatrzymuje skrypt, jeśli się aktywuje. Ta opcja jest domyślnie wyłączona, chyba że wstawiony punkt przerwania jest logpoint. Usuń punkt przerwania po trafieniu Jeśli zaznaczone, punkt przerwania automatycznie usuwa się po pierwszej sesji testowej, skutecznie czyniąc go tymczasowym punktem przerwania. Aktywuj w Kontekst punktu przerwania określa, czy powinien aktywować się na Kliencie (skrypty po stronie klienta), Serwerze (skrypty po stronie serwera) czy Edycji (debugowanie skryptów wtyczek). Jeśli wybierzesz Niestandardowy kontekst, okno wskaże aktualne konteksty wyzwalania.
Przepływ pracy
Typowy przepływ pracy dla debugowania punktów przerwania wygląda następująco:
Otwórz skrypt, który chciałbyś zdebugować, i wklej punkty przerwania w liniach kodu, które chcesz zbadać.
Z mezzaniny Studio rozpocznij sesję testową, aby rozpocząć debugowanie.

Gdy skrypt trafi na punkt przerwania, sesja testowa zatrzymuje się, chyba że ten punkt przerwania jest skonfigurowany do kontynuacji wykonania. Żółta strzałka nad punktem przerwania wskazuje, która linia kodu będzie wykonywana następnie.

Gdy skrypt jest wstrzymany, sprawdź okna Punkty przerwania, Obserwacja, Stos wywołań, Wyjście oraz Edytor skryptów, aby znaleźć informacje o wartościach zmiennych i wykonaniach funkcji.
Aby kontynuować wykonywanie kodu po trafieniu na punkt przerwania, kliknij Wznów skrypty w mezzaninie.

Możesz także wykonywać kod linia po linii za pomocą przycisków krokowych w mezzaninie:

Działanie Skrót Opis Krok w F11 Przycisk Krok w przenosi debugger do kodu funkcji w bieżącej linii. Jeśli w bieżącej linii nie ma funkcji, debugger przechodzi do następnej linii. Krok nad F10 Przycisk Krok nad przenosi debugger do następnej linii kodu, nie wchodząc w funkcje. Krok wyjścia ShiftF11 Przycisk Krok wyjścia przenosi debugger na zewnątrz bieżącej funkcji do następnej linii kodu po wywołaniu funkcji. Jeśli bieżąca linia nie znajduje się w funkcji, debugger przechodzi do następnej linii. Kiedy skończysz debugowanie bieżącej sesji, kliknij przycisk Zatrzymaj.

Monitorowanie
Studio zawiera wiele okien i narzędzi do monitorowania wartości zmiennych i wykonania funkcji podczas debugowania. Dzięki tym informacjom możesz znaleźć rzeczywistą przyczynę większości problemów w swoich skryptach.

Punkty przerwania
Okno Punkty przerwania to zintegrowany widok, który pokazuje wszystkie punkty przerwania we wszystkich skryptach. Aby je otworzyć, kliknij Punkty przerwania na pasku narzędzi zakładki Skrypt w Studio, lub przejdź do menu Okno ⟩ Debug i włącz Punkty przerwania.
W oknie zawsze wyświetlane są kolumny Skrypt i Linia, a ty możesz włączać/wyłączać inne kolumny konfiguracji przez menu ⋮ w prawym górnym rogu. W kolumnie Skrypt kliknij prawym przyciskiem myszy dowolny punkt przerwania, aby wyświetlić menu opcji do edytowania, wyłączania/włączania, usuwania lub przeskakiwania do linii punktu przerwania w skrypcie.

Podczas sesji debugowania, skrajnie lewa kolumna pokazuje (x3), co wskazuje, że istnieją różne konteksty (Klient, Serwer, Edycja) dla punktu przerwania. Rozwijając gałąź dowolnego punktu przerwania, możesz następnie kliknąć ikonę obok konkretnego kontekstu, aby wyłączyć/włączyć go dla tego kontekstu, na przykład wyłączając punkt przerwania tylko w kontekście Klienta, podczas gdy pozostaje on włączony w kontekście Serwera.

Stos wywołań
Okno Stos wywołań, dostępne na pasku narzędzi zakładki Skrypt w Studio lub w menu Okno ⟩ Debug, pokazuje, która linia kodu ma być wykonywana następnie, gdy debugger osiągnie punkt przerwania. Jeśli wywołujesz funkcje z wnętrza innych funkcji, wskaźnik ten pokazuje, z których linii te funkcje zostały wywołane, co pozwala ci potwierdzić, czy rzeczywisty przepływ wywołań odpowiada oczekiwanemu przepływowi.


Gdy skrypt zatrzymuje się w punktach przerwania, używaj przycisków do kroków w mezzaninie, aby wejść w, nad lub wyjść z funkcji/linii, jak opisano w przepływie pracy.

Obserwacja
Okno Obserwacja, dostępne na pasku narzędzi zakładki Skrypt w Studio lub w menu Okno ⟩ Debug, pozwala aktywnie monitorować wartości zmiennych i wyrażeń, gdy przechodzisz przez punkty przerwania.
Zakładka Zmienne pokazuje informacje o bieżących zmiennych w zakresie, które można filtrować klikając przycisk Wszystkie zakresy w górnej części okna. Rozwijając gałąź, pokazujesz członków tej zmiennej lub instancji oraz ich wartości. Możesz również obserwować dowolną zmienną, podwójnie klikając w nią w Edytorze Skryptów, klikając prawym przyciskiem myszy i wybierając Dodaj obserwację z menu popup.


Edytor skryptów
Debugger jest zintegrowany z Edytorem skryptów. Gdy twoje doświadczenie zatrzymuje się na punkcie przerwania w skrypcie, możesz najechać kursorem na nazwę zmiennej, aby zobaczyć jej wartość. Na przykład, możesz zobaczyć skład zmiennej tabeli i jej zawarte klucze/wartości.

Dodatkowe narzędzia debugowania
Oprócz debuggera, Studio oferuje dodatkowe narzędzia debugowania, aby naprawić problemy i błędy w twoim doświadczeniu.
Pasek poleceń
Pasek poleceń pozwala na uruchamianie poleceń Luau podczas działania doświadczenia. Jest dostępny w Studio w menu Okno ⟩ Skrypt oraz w Konsoli dewelopera.
Konsola dewelopera
Konsola dewelopera dostarcza szeroki zakres szczegółów, w tym wyjście klienta i serwera, użycie pamięci, wydajność sieci i więcej. Aby otworzyć konsolę podczas testowania lub grania w doświadczenie, wpisz /console w czacie lub naciśnij F9.
Pliki dziennika
Gdy skrypt drukuje lub generuje błąd w Studio lub aplikacji gracza, aplikacja zapisuje wiadomość w pliku dziennika w lokalnym systemie plików. Pliki te znajdują się w różnych miejscach w zależności od systemu operacyjnego.
Windows
Aby uzyskać dostęp do plików dziennika w systemie Windows:
- Otwórz Eksplorator plików.
- Przejdź do katalogu %LOCALAPPDATA%\Roblox\logs.
- Kliknij dwukrotnie dziennik, aby go otworzyć. Dzienniki z tym samym wartością XXXXX pochodzą z tej samej sesji Studio.
Mac
Aby uzyskać dostęp do plików dziennika na Mac:
- Otwórz Finder.
- W menu wybierz Idź ⟩ Idź do folderu....
- W oknie dialogowym wpisz ~/Library/Logs/Roblox.
- Kliknij dwukrotnie wynik, aby przejść do katalogu dzienników Roblox.
- Wewnątrz katalogu kliknij dwukrotnie dziennik, aby go otworzyć.
iOS
Możesz zbierać logi iOS za pomocą Maca lub korzystając z urządzenia iOS.
Aby uzyskać dostęp do plików dziennika iOS na Macu:
- Podłącz urządzenie iOS do Maca.
- Otwórz Finder.
- Przejdź do Narzędzia i otwórz aplikację Konsola.
- Aby zapełnić logi w czasie rzeczywistym w aplikacji Konsola, wybierz urządzenie iOS z paska bocznego, kliknij przycisk Start i odtwórz problem na urządzeniu iOS.
- Aby zapełnić zarchiwizowane logi w aplikacji Konsola, uruchom sudo log collect --device-name "[Nazwa urządzenia iOS]" w Terminalu. Upewnij się, że w nazwie urządzenia nie ma apostrofów, w przeciwnym razie możesz otrzymać błąd podczas uruchamiania polecenia.
Android
Aby uzyskać dostęp do plików dziennika na Androidzie:
- Przejdź do Ustawienia ⟩ System ⟩ Opcje dewelopera.
- Przełącz Opcje dewelopera na włączone.
- Na komputerze pobierz i zainstaluj Android Studio.
- W Android Studio kliknij Logcat.
- Połącz urządzenie z Androidem z komputerem, aby automatycznie wypełnić Logcat logami.