Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Logi gry i systemu

Log gry pokazuje całe wyjście z silnika, rozszerzeń natywnych i logiki gry. Polecenia print() oraz pprint() można wywoływać ze skryptów i modułów Lua, aby wyświetlać informacje w logu gry. Z poziomu rozszerzeń natywnych możesz używać funkcji w przestrzeni nazw dmLog namespace, aby zapisywać do logu gry. Log gry można odczytać w edytorze, w oknie terminala, przy użyciu narzędzi specyficznych dla platformy albo z pliku logu.

Logi systemowe są generowane przez system operacyjny i mogą dostarczyć dodatkowych informacji, które pomagają namierzyć problem. Mogą też zawierać ślady stosu po awariach oraz ostrzeżenia o niskim poziomie pamięci.

Logowanie do konsoli/na ekranie pokazuje informacje tylko w buildach Debug. W buildach Release log konsoli jest pusty, ale możesz włączyć logowanie do pliku w Release, ustawiając opcję projektu “Write Log File” na “Always”. Szczegóły poniżej.

Odczytywanie logu gry w edytorze

Gdy uruchamiasz grę lokalnie z edytora albo na urządzeniu połączonym z mobilną aplikacją deweloperską, całe wyjście będzie widoczne w panelu konsoli edytora:

Edytor 2

Odczytywanie logu gry z terminala

Gdy uruchamiasz grę Defold z terminala, log będzie wyświetlany bezpośrednio w samym oknie terminala. W systemach Windows i Linux wpisujesz w terminalu nazwę pliku wykonywalnego, aby uruchomić grę. W macOS musisz uruchomić silnik z wnętrza pliku .app:

$ > ./mygame.app/Contents/MacOS/mygame

Odczytywanie logów gry i systemu przy użyciu narzędzi specyficznych dla platformy

HTML5

Logi można odczytywać przy użyciu narzędzi deweloperskich dostępnych w większości przeglądarek.

  • Chrome - Menu > More Tools > Developer Tools
  • Firefox - Tools > Web Developer > Web Console
  • Edge
  • Safari - Develop > Show JavaScript Console

Android

Do podglądu logów gry i systemu możesz użyć narzędzia Android Debug Bridge (ADB).

Narzędzie wiersza poleceń adb jest łatwym w użyciu i wszechstronnym programem służącym do komunikacji z urządzeniami z Androidem. adb można pobrać i zainstalować jako część Android SDK Platform-Tools dla systemów Mac, Linux lub Windows.

Pobierz Android SDK Platform-Tools z: https://developer.android.com/studio/releases/platform-tools. Narzędzie adb znajdziesz w katalogu /platform-tools/. Alternatywnie pakiety dla konkretnych systemów można zainstalować za pomocą odpowiednich menedżerów pakietów.

W Ubuntu Linux:

$ sudo apt-get install android-tools-adb

W Fedora 18/19:

$ sudo yum install android-tools

W macOS (Homebrew)

$ brew cask install android-platform-tools

Możesz sprawdzić, czy adb działa, podłączając urządzenie z Androidem do komputera przez USB i wykonując następujące polecenie:

$ adb devices
List of devices attached
31002535c90ef000    device

Jeśli urządzenie się nie pojawia, sprawdź, czy na urządzeniu z Androidem włączono USB debugging. Otwórz Settings urządzenia i poszukaj Developer options (lub Development).

Włącz debugowanie USB

Po zainstalowaniu i skonfigurowaniu podłącz urządzenie przez USB, otwórz terminal i uruchom:

$ cd <path_to_android_sdk>/platform-tools/
$ adb logcat

Urządzenie wypisze wtedy całe wyjście do bieżącego terminala, wraz z komunikatami z gry.

Jeśli chcesz widzieć wyłącznie wyjście aplikacji Defold, użyj tego polecenia:

$ cd <path_to_android_sdk>/platform-tools/
$ adb logcat -s defold
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
I/defold  ( 6210): INFO:DLIB: SSDP started (ssdp://192.168.0.97:58089, http://0.0.0.0:38637)
I/defold  ( 6210): INFO:ENGINE: Defold Engine 1.2.50 (8d1b912)
I/defold  ( 6210): INFO:ENGINE: Loading data from:
I/defold  ( 6210): INFO:ENGINE: Initialized sound device 'default'
I/defold  ( 6210):
D/defold  ( 6210): DEBUG:SCRIPT: Hello there, log!
...

iOS

Masz kilka sposobów odczytywania logów gry i systemu na iOS:

  1. Możesz użyć narzędzia Console, aby czytać logi gry i systemu.
  2. Możesz użyć debuggera LLDB, aby dołączyć do gry uruchomionej na urządzeniu. Aby debugować grę, musi ona być podpisana profilem „Apple Developer Provisioning Profile”, który obejmuje urządzenie, na którym chcesz debugować. Spakuj grę z edytora i podaj provisioning profile w oknie dialogowym bundlowania (bundlowanie dla iOS jest dostępne tylko na macOS).

Aby uruchomić grę i dołączyć debugger, potrzebujesz narzędzia ios-deploy. Zainstaluj je i uruchom debugowanie gry, wpisując w terminalu:

$ ios-deploy --debug --bundle <path_to_game.app> # UWAGA: to nie jest plik .ipa

To polecenie zainstaluje aplikację na urządzeniu, uruchomi ją i automatycznie dołączy do niej debugger LLDB. Jeśli dopiero zaczynasz z LLDB, przeczytaj Getting Started with LLDB.

Odczytywanie logu gry z pliku logu

Użyj ustawienia projektu “Write Log File” w pliku game.project, aby sterować logowaniem do pliku:

  • “Never”: Nie zapisuj pliku logu.
  • “Debug”: Zapisuj plik logu tylko dla buildów Debug.
  • “Always”: Zapisuj plik logu zarówno dla buildów Debug, jak i Release.

Po włączeniu całe wyjście gry będzie zapisywane na dysku do pliku o nazwie “log.txt”. Oto jak pobrać ten plik, jeśli uruchamiasz grę na urządzeniu:

iOS
Podłącz urządzenie do komputera z zainstalowanymi macOS i Xcode.

Otwórz Xcode i przejdź do Window ▸ Devices and Simulators.

Wybierz urządzenie z listy, a następnie wybierz odpowiednią aplikację na liście Installed Apps.

Kliknij ikonę koła zębatego pod listą i wybierz Download Container....

pobierz kontener

Po wyodrębnieniu kontenera zostanie on pokazany w Finder. Kliknij kontener prawym przyciskiem myszy i wybierz Show Package Content. Znajdź plik “log.txt”, który powinien znajdować się w “AppData/Documents/”.

Android(
Możliwość wyodrębnienia pliku “log.txt” zależy od wersji systemu operacyjnego i producenta urządzenia. Oto krótki i prosty poradnik krok po kroku.