Studio oferuje wiele narzędzi do debugowania, które znajdują się powszechnie w środowiskach rozwoju zintegrowanego (IDE). Te narzędzia pomagają rozwiązać błędy i inspektować linie kodu, gdy się uruchamiają. Informacje o debugowaniu są wyświetlane w Oglądaj, Przywołaj, Złam i 2>Wyjdź
Ogólny przepływ pracy
Jeśli zauważysz problem w swoim doświadczeniu lub chcesz zweryfikować, że działa tak, jak chcesz, możesz debugować kod związany z nim poniżej:
Wstaw kropki przecinkowe na linijkach kodów, które chcesz zeskanować.
W Skrypcie zakładce, kliknij Graj lub Biegnij w zakładce testowej, aby uruchomić sesję testową, również znaną jako sesja debugowania.
Gdy skrypt dotyka punktu przerwy, sesja testowa wstrzymuje się. Przejdź przez kod. Inspect the Watch , Call Stack i Output okien, aby pomóc Ci diagnozować i zrozumieć problem.
W Skrypt zakładce, kliknij Zatrzymaj, aby zakończyć sesjadebugowania.
Powtarzaj poprzednie kroki, aż rozwiążesz problem lub znajdziesz jego przyczynę. Podczas gdy uczysz się ogólnego workflows, możesz skonfigurować punkty przerwy tylko wtedy, gdy spełnione zostaną pewne warunki, aby wydrukować wiadomość do okienka Wyjście i uruchomić tylko na klienta lub serwera. Aby uzyskać więcej informacji, zobacz <
Wstawianie punktów przerwy
Punkty interwencyjne są punktami kontrolnymi, które wstrzymają lub "złamują" wykonanie Twoich kodna określonych liniach. Możesz użyć przerw, aby inspektować i debugować swoje doświadczenie, oglądać zmienne i inspektować stos. Punkty interwencyjne są jednym z najbardziej skutecznych narzędzi do debugowania
Aby wstawić standardowy przerwańcik na linii kodu, lewym kliknięciem zmień kropkę nad prawą krawędzią jego linii numerycznej. Możesz również lewym kliknięciem zmień kropkę i kliknąć Wstaw przerwańcik. Punkt przerwańcik pojawia się jako czerwony krop. Aby go wyłączyć, kliknij kropkę.
Kroki przez kod
Jeśli wpiszesz przerwę w linii w skrypcie, skrypty wstrzymają się przed uruchomieniem tej linii. Żółty pasek nazyający się „ debugger” wskazuje, która linia kodu zostanie wykonana następnie.
Gdy skrypt się zatrzymuje, wykonuj następujący kod jedną linijkę na raz poprzez ich przejście z przyciskami w Tabeli Skryptów . Przyciski pojawiają się również w górnym lewym rogu okna Call Stack. Podczas wykonywania kodu monitoruj, jak twoje doświadczenie zmienia się, gdy wykonuje się bieżąca linijka.
Poniższy tabela podsumowuje trzy sposoby na krok przez kod. Aby kontynuować wykonanie swojego kodu po dotarciu do przerwy, kliknij Kontynuuj w zakładce Skrypt.
Przycisk | Akcja | Skrót | Opis |
---|---|---|---|
Wejdź do | F11 | Przycisk Wejdź do przycisku przenosi debugera do kodu funkcji na obecnej linii. Jeśli nie ma funkcji na obecnej linii, debuger przenosi się na następny przycisk. | |
Krok po kroku | F10 | Przycisk Krok w górę przenosi debugera do następnej linii kodu, nie przenosząc się do funkcji. | |
Wyjdź | PrzesunięcieF11 | Przycisk Krok Wyżej przesuwa debugera poza bieżącą funkcję i do następnej linii kodu po wezwaniu funkcji. Jeśli obecna linia nie jest w funkcji, debuger przesuwa się do następnej linii. |
Inspektor kodu
Gdy przejście wstrzymauje doświadczenie podczas testu gry, możesz zinspektować Okno Watch, Call Stack, Output i 2>Script Editor2>, aby znaleźć informacje o zmiennej wartości i funkcji wykonania. Z tą informacją możesz znaleźć korzeń przyczyny problemu w swoim doświadczeniu.
Okno zegarowe
Okienko Oglądaj ma dwa zakładki: Zmienne i Moje zegarki. 2>Zmienne2> zakładka pokazuje informacje o bieżących zmiennych w zakresie i 5>Moje zegarki5> zakładka pokazuje wartość zmienne lub wyraże, które określasz. Obie zakładki pokazują informacje przed wykonaniem lin
Tablica Zmienne ma następujące kolumny:
- Nazwa – deklarowana nazwa zmiennej.
- Zakres – zakres zmiennej: gdzie można go "zobaczyć" i uzyskać dostęp, takich jak lokalny, globalny lub Upvalue.
- Wartość – Obecna wartość zmiennej.
- Typ danych – Typ danych zmiennej.
Tablica Moje zegarki ma następujące kolumny:
- Expression – ekspresja, którą chcesz oglądać.
- Value – Obecna wartość wyrażenia.
- Typ danych – Typ danych wyrażenia.
W Zmienne zakładce możesz filtrować zakres zmiennych, klikając na ikonafiltra. Możesz również sortować wiersze, klikając na imię kolumy, aby sortować. Okienko wATCH oferuje zarówno rozszerzonej, jak i skręconej widok tabel.
Aby sprawdzić kod w oknie Watch:
Jeśli okno Oglądaj nie jest otwarte, kliknij Oglądaj w zakładce Zobacz w karcie 2>Przeglądaj2>.
Gdy twoja sesja testowa zatrzymuje się na przerwie, pomyśl o tym, jak oczekujesz, że obecna linia zmieni wartości zmienne w tym skrypcie.
Podczas gdy przesiewasz kod, obserwuj, jak zmienia się wartość zmiennej w zakładce Zmienne. Jeśli chcesz obserwować wyrażenie nie w zakładce Zmienne, otwórz zakładkę Moje zegarki. Kliknij pustą linię w kolumnie Nazwa, a następnie wpisz wyrażenie. Jeś
Porównaj wartości zmienne i wyrażenia z tego, co oczekujesz i tego, co widzisz w oknie Oglądaj. Jeśli istnieje różnica między tym, jak oczekujesz, że zmienne się zmienią, a tym, jak rzeczywiście zmieniają się, to zmienne lub funkcje interaktywne z nimi mogą powodować problemy lub błędy.
Okienko Call Stack
Okienko Call Stack pokazuje, która linia kodu zostanie wykonana następnie, gdy debugger dotrze do punktu przerwy. Okienko Call Stack wskazuje, którą linię kodu nazwiesz następnie, jeśli nazwiesz funkcję z innych funkcji, a jeśli nazwisz funkcję w innych funkcjach, to kolejność wezwywania funkcji i które
Jeśli masz wiele punktów przerwy w różnych skryptach, mogą one wstrzymać sesję testową w tym samym czasie. Możesz przejść do punktów przerwy, klikając strzałkę obok imienia skryptu w oknie Call Stack. Jeśli klikniesz Kontynuuj , wtedy przejdziesz przez wszystkie punkty przerwy, które zostały wstrzymane w tym samym czasie.
Aby sprawdzić kod w oknie Call Stack podczas sesjadebugowania:
Jeśli okienko Call Stack nie jest otwarte, kliknij Call Stack w zakładce Zobacz.
Gdy twoje doświadczenie zatrzymuje się na punktach przerwy, pomyśl o tym, jak oczekujesz, że funkcje będą w tym skrypcie.
Call Stack pokazuje kolejność wezwywania funkcji. Jeśli punkt przerwy znajduje się w funkcji, Call Stack pokazuje, która funkcja wzywa tę funkcję, jeśli jest jakakolwiek. Call Stack pokazuje również nazwę i numer linii każdej funkcji. Kliknij na wiersz dla funkcji, aby skoczować do niego.
Porównaj kolejność wezwywania funkcji, którą myślałeś w kroku 2 i rzeczywistą kolejność w kroku 3. Jeśli istnieją różnice, to istnieje różnica między tym, jak oczekujesz, że kod zachowa się, a tym, jak zachowa się w rzeczywistości, co powoduje potencjalne problemy i błędy.
Wyjście z okna
Okienko Wyjście, dostępne z zakładki Zobacz, wyświetla błędy z chwytanych z prawie print() skryptów, wiadomości od Roblox Engine, zapiski z wysłanych wiadomości, wiadomości z wezwania do 2> print()2> i błędy z wezwania do 5> warn()5>.
Edytor Skryptów
Developer jest zintegrowany z Editor Skryptów . Gdy Twoje doświadczenie zawiesza się na przerwie w skrypcie, możesz przytrzymać myszkę nad imieniem zmiennej, aby zobaczyć jej wartość. Na przykład możesz zobaczyć wartość zmiennej w funkcji call.
Konfiguracje punktów dostępu
Możesz skonfigurować punkty przerwy tylko wtedy, gdy spełnione zostaną pewne warunki, aby wydrukować wiadomość w oknie Wyjście i uruchomić tylko na klientach lub serwerach. Możesz również miksować te konfiguracje, aby najlepiej nadążyć za Twoimi potrzebami debugowania.
Edytowanie punktów przerwy
Możesz edytować konfigurację punktu przerwy w dowolnym momencie, w tym podczas sesji playtest. Jeśli edytujesz punkt przerwy podczas sesji playtest, zmiany nie mają zastosowania nawet po zakończeniu sesja. Możesz również edytować punkt przerwy, który jest aktywnie przerwywany podczas sesji playtest, ale zmiany nie mają zastosowania do następnej sesjaplaytest.
Aby edytować konfigurację punktu przerwy:
Następnie kliknij Edytuj punkt przerwy .
W Edytuj punkcie dostępu oknie, skonfiguruj punkty dostępu, jak chcesz.
Warunki, wiadomość Log i opcje
Dla każdego punktu przerwy możesz ustawić jego Warunki, Logi wiadomości, Kontynuuj wykonanie i 2> Kontekst2>.
Kondycja jest wyrażeniem, które określa, czy przejście aktywuje się. Kondycja jest opcjonalna. Jeśli Kondycja jest pusta, przejście zawsze aktywuje się. Jeśli Kondycja istnieje, to przejście ak
Log Message to wyrażenie, które drukuje się w oknie print(), gdy kondycja jest prawdziwa.格式 Log Message jest taki sam jak argument dla "The value of n:", n stwierdzenia. Na przykład, ustaw Log Message jako 1> "The value of n(", n)1> , aby wydrukować tę sam
Opcja Kontynuuj wykonanie określa, czy przerwa wstrzymauje skrypt, jeśli jest aktywowana. Jest to przydatne, jeśli chcesz zapisać wartości zmienne lub wyraże bez przerwy. Ta opcja jest domyślnie wyłączona.
Kontekst przerwy określa, czy przerwa powinna zostać aktywowana na Klient, Serwer lub Edytuj. Jeśli kontekst jest Klient, to przerwa zostanie uruchomiona w stronach klienta. Jeśli kontekst jest Serwer, to przerwa zostanie uruchomiona w stronach serwera. Jeśli kontekst jest Edytuj, to przerwa zostanie uruchomiona, gdy edytujesz wtycz
Warunkowe przerwy i logi
Studio oferuje nazwane wariacji punktów przerwy, aby uczynić wstawienie punktu przerwy szybsze. Aby wstawić nazwę wariacji, kliknij paskę po prawej stronie jego liczby linii, a następnie kliknij wariant, który chcesz wstawić.
A Warunkowy Punkt Przerwy to punkt przerwy z warunkiem Kondycja i Kontynuowanie wykonania wyłączone. Warunkowe Punkt Przerwy zawiesza skrypt tylko wtedy, jeśli kondycja jest prawdziwa, więc są one użyteczne do debugowania tego, jak
A Logpoint jest punktem końcowym z wiadomością logową i ciągłym wykonaniem włączonym. Logpointy logują się do okienka 2>Wyjście2> bez przerwy swoich skryptów, więc są one użyteczne do debugowania zmiennej wartości. Logpointy używają wartości zmienne
Logowanie jest często bardziej wydajne dla debugowania zmienne niż print() stwierdzenia, ponieważ umożliwiają one zapisanie wiadomości w oknie Wyjście bez konieczności zatrzymywania lub ponownego uruchomienia aktywnej sesjaplaytest. W porównaniu do print() stwierdzeń, zachowują one twój kod czysty podczas debugowania i są łatwiejsze do usunięcia po zakończeniu debug
Wyłączanie punktów przerwy
Jest wiele sposobów na wyłączenie i ponowne włączenie przerwy:
- Kliknij ikonę punktu przerwy.
- Edytuj punkt przerwy i włącz jego włączone pudełko.
- Kliknij prawym przyciskiem na ikonę punktu przerwy i kliknij Zablokuj punkt przerwy lub Włącz punkt przerwy.
Usuwanie punktów przerwy
Aby usunąć punkt przerwy, kliknij jego ikona. Możesz również kliknąć prawym przyciskiem myszy i kliknąć Usuń punkt przerwy .
Okno broni
Okienko Breakpoints pokazuje wszystkie breakpoints w twojej doświadczeniu. Aby otworzyć okienko Breakpoints, kliknij zakładkę Zobacz na górze Studio, a następnie kliknij Zakładki Breakpoints.
Okienko Breakpoints ma następujące kolumny: unlabelled, Script, Line, Source Line, Condition, Log Message i Continue Execution. Nieznacznymi kolumнами są okienko Script i Linia, ale możesz zmienić pozostałe kolumny poprzez kliknięcie trzech kropek w górnym, prawym rogu okna.
W nieznaczonych kolumnie znaczny (x3) label określa liczbę punktów przerwy na tej samej linii kodu, a ikona określa konfigurację punktu przerwy. Punkty przerwy na tej samej linii dzielą się tą samą kondycją, wiadomością o warunku i kontynuowaniem wykonania, ale różnią się w kontekście. Możesz edytować konfigurację punkt
Możesz włączać i wyłączać punkty przerwy, klikając na jego ikonę w kolumnie Włączone . Możesz również kliknąć następujące przyciski, aby włączyć, włączać, rozpoczynaćlub usunąć niektóre lub wszystkie punkty przerwy.
Przycisk | Akcja |
---|---|
Wyłącz wszystkie punkty łamania. Jeśli którekolwiek z nich jest wyłączony, włącz je wszystko. | |
Usuń wszystkie pęknięcia. |
Ikony punktów dostępu
Ikona punktu przerwy zależy od tego, czy jest włączona, ma kondycję i ma wiadomość w formie logu. Jeśli punkt przerwy ma wiadomość w formie logu, to wyświetla się jako punkt przerwy bez względu na to, czy ma kondycję.
Nazwa | Ikona | Włączone | Warunek | Wiadomość Logowa |
---|---|---|---|---|
Punkt przełomu | Tak | Nie | Nie | |
Nie | Nie | Nie | ||
Warunkowy punkt wyłaczenia | Tak | Tak | Nie | |
Nie | Tak | Nie | ||
Punkt widokowy | Tak | Może | Tak | |
Nie | Może | Tak |
Dodatkowe narzędzia debugowania
Oprócz debugera Studio oferuje dodatkowe narzędzia do debugowania, aby naprawić problemy i bugi w swoim doświadczeniu.
Pasek poleceń
Przycisk Zwischene commandy pozwala na uruchomienie komend Luau, podczas gdy doświadczenie jest uruchomione. Jest dostępny w Studio z zakładki Zwischene i w Konsoli rozwoju.
Konsola Rozwój
Konsola Rozwoju Dostarcza szeroką gamę szczegółów, w tym wyjścia klienta i serwera, użycie pamięci, wykonywaniesieci i wiele więcej. Aby otworzyć Konsolę Rozwoju podczas testowania lub gry w doświadczenie, wpisz /console w czacie lub naciśnij F9. Więcej informacji znajdziesz pod 2>Konsolą
Pliki dziennikowe
Gdy skrypt drukuje lub błędy w Studio lub aplikacji Player, aplikacja zapisuje wiadomość w pliku logowym w lokalnym systemie plików. Te pliki znajdują się w różnych miejscach w zależności od systemu operacyjnego.
Okna
Aby uzyskać dostęp do plików logowych na Windows:
- Otwórz Explorer Plików .
- Przejdź do katalogu %LOCALAPPDATA%\Roblox\logs.
- Podwójnie kliknij na dziennik, aby go otworzyć. Dzienniki z tą samą wartością XXXXX są z tego samego sesjaStudio.
Mak
Aby uzyskać dostęp do plików logu na Mac:
- Otwórz Finder .
- W menu PrzejdźIdź do kataloguPrzejdź do katalogu .
- W dialogu wpisz ~/Library/Logs/Roblox .
- Podwój kliknij wynik, aby przeglądać katalogi rejestrów Roblox.
- W środku katalogu, podwój kliknij dziennik, aby go otworzyć.
iOS
Możesz zbierać iOS dzienniki za pomocą Mac lub używając urządzenieiOS.
Aby uzyskać dostęp do plików logu iOS na Mac:
- Połącz urządzenie iOS z Mac.
- Otwórz Finder .
- Przejdź do Utilities i otwórz aplikację Console.
- Aby wypełnić rzeczywiste dzienniki w aplikacji Console, wybierz urządzenie iOS z pasku bocznego, kliknij przycisk Rozpocznij i ponownie z reprodukowaniem problemu na urządzeniu iOS.
- Aby wypełnić archiwalne dzienniki w aplikacji Console, zalicz sudo log collect --DEVICE-NAME" w Terminalu . Upewnij się, że nie ma spacji w nazwie urządzenielub możesz otrzymać błąd podczas uruchomienia komendy.
Android
Aby uzyskać dostęp do plików logów na Android:
- Przejdź do Ustawień > Systemu > Opcje dla programistów .
- Włącz Opcje dla programistów na.
- Na komputerze, załaduj i zainstaluj Android Studio.
- W Android Studio, kliknij Logcat .
- Połącz urządzenie Android z komputerem, aby automatycznie wypełnić Logcat dziennikami.