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

Журнали гри й системи

У журналі гри відображається все виведення рушія, нативних розширень і вашої ігрової логіки. Команди print() і pprint() можна використовувати у скриптах і модулях Lua, щоб виводити інформацію в журнал гри. Для запису в журнал гри з нативних розширень можна використовувати функції з простору імен dmLog. Журнал гри можна читати в редакторі, у вікні термінала, за допомогою інструментів для конкретної платформи або з файлу журналу.

Системні журнали створює операційна система, і вони можуть містити додаткову інформацію, яка допоможе точно визначити проблему. Системні журнали можуть містити трасування стека для аварійних завершень і попередження про нестачу пам’яті.

Виведення журналу в консоль/на екран показує інформацію лише в налагоджувальних збірках (Debug). У збірках випуску (Release) журнал консолі порожній, але для Release можна ввімкнути запис журналу у файл, задавши налаштуванню проєкту «Write Log File» значення «Always». Докладніше див. нижче.

Читання журналу гри в редакторі

Коли ви запускаєте гру локально з редактора або підключаєтеся до мобільного застосунку для розробки, усе виведення відображається на панелі консолі редактора:

Редактор 2

Читання журналу гри в терміналі

Коли ви запускаєте гру Defold з термінала, журнал відображається в самому вікні термінала. У Windows і Linux для запуску гри введіть у терміналі ім’я виконуваного файлу. У macOS потрібно запустити рушій із файлу .app:

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

Читання журналів гри й системи за допомогою інструментів для конкретної платформи

HTML5

Журнали можна читати за допомогою інструментів розробника, доступних у більшості браузерів.

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

Android

Для перегляду журналів гри й системи можна використовувати інструмент Android Debug Bridge (ADB).

Засіб командного рядка adb — це проста у використанні й універсальна програма для взаємодії з пристроями Android. Ви можете завантажити й установити adb у складі Android SDK Platform-Tools для Mac, Linux або Windows.

Завантажте Android SDK Platform-Tools за адресою: https://developer.android.com/studio/releases/platform-tools. Засіб adb міститься в /platform-tools/. Також можна встановити пакети для вашої платформи через відповідний менеджер пакетів.

В Ubuntu Linux:

$ sudo apt-get install android-tools-adb

У Fedora 18/19:

$ sudo yum install android-tools

У macOS (Homebrew)

$ brew cask install android-platform-tools

Щоб перевірити, чи працює adb, під’єднайте пристрій Android до комп’ютера через USB і виконайте таку команду:

$ adb devices
List of devices attached
31002535c90ef000    device

Якщо пристрій не відображається, перевірте, чи ввімкнено на ньому USB debugging. Відкрийте Settings пристрою й знайдіть Developer options (або Development).

Увімкнення налагодження через USB

Після встановлення й налаштування підключіть пристрій через USB, відкрийте термінал і виконайте:

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

Після цього пристрій передаватиме все виведення в поточний термінал разом з усіма повідомленнями, які виводить гра.

Щоб бачити лише виведення застосунку Defold, скористайтеся цією командою:

$ 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: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

Є кілька способів читати журнали гри й системи в iOS:

  1. Для читання журналів гри й системи можна використовувати інструмент Console.
  2. Можна використовувати налагоджувач LLDB, щоб підключитися до гри, запущеної на пристрої. Для налагодження гри її потрібно підписати за допомогою профілю «Apple Developer Provisioning Profile», до якого включено пристрій, на якому ви хочете виконувати налагодження. Створіть пакет гри в редакторі та вкажіть профіль підготовки в діалоговому вікні пакування (пакування для iOS доступне лише в macOS).

Щоб запустити гру й підключити налагоджувач, знадобиться інструмент ios-deploy. Установіть гру й запустіть її налагодження, виконавши в терміналі таку команду:

$ ios-deploy --debug --bundle <path_to_game.app> # NOTE: not the .ipa file

Ця команда встановить застосунок на пристрій, запустить його й автоматично підключить до нього налагоджувач LLDB. Якщо ви ще не знайомі з LLDB, прочитайте Початок роботи з LLDB.

Читання журналу гри з файлу журналу

Використовуйте налаштування проєкту «Write Log File» у game.project, щоб керувати записом журналу у файл:

  • «Never»: не записувати файл журналу.
  • «Debug»: записувати файл журналу лише для налагоджувальних збірок.
  • «Always»: записувати файл журналу як для налагоджувальних збірок, так і для збірок випуску.

Коли запис увімкнено, усе виведення гри записується на диск у файл log.txt. Ось як отримати цей файл, якщо ви запускаєте гру на пристрої:

iOS
Підключіть пристрій до комп’ютера з установленими macOS і Xcode.

Відкрийте Xcode і перейдіть до Window ▸ Devices and Simulators.

Виберіть свій пристрій у списку, а потім виберіть відповідний застосунок у списку Installed Apps.

Натисніть значок шестерні під списком і виберіть Download Container....

Завантаження контейнера

Після отримання контейнер відобразиться у Finder. Клацніть контейнер правою кнопкою миші й виберіть Show Package Content. Знайдіть файл log.txt, який має бути в AppData/Documents/.

Android(
Можливість отримати log.txt залежить від версії ОС і виробника. Ось короткий і простий покроковий посібник.