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

게임 및 시스템 로그

게임 로그는 엔진, 네이티브 익스텐션, 게임 로직의 모든 출력을 보여줍니다. 스크립트와 Lua 모듈에서 print()pprint() 명령을 사용해 게임 로그에 정보를 표시할 수 있습니다. 네이티브 익스텐션에서는 dmLog 네임스페이스의 함수를 사용해 게임 로그에 쓸 수 있습니다. 게임 로그는 에디터, 터미널 창, 플랫폼별 도구 또는 로그 파일에서 읽을 수 있습니다.

시스템 로그는 운영체제에서 생성되며, 문제를 정확히 찾아내는 데 도움이 되는 추가 정보를 제공할 수 있습니다. 시스템 로그에는 크래시의 스택 트레이스와 메모리 부족 경고가 포함될 수 있습니다.

콘솔/화면 로깅은 Debug 빌드에서만 정보를 표시합니다. Release 빌드에서는 콘솔 로그가 비어 있지만, 프로젝트 설정 “Write Log File”을 “Always”로 설정하면 Release에서도 파일 로깅을 활성화할 수 있습니다. 자세한 내용은 아래를 참고하세요.

에디터에서 게임 로그 읽기

에디터에서 로컬로 게임을 실행하거나 모바일 개발용 앱에 연결하면 모든 출력이 에디터의 콘솔 창에 표시됩니다.

Editor 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 기기와 상호작용하는 데 사용하는, 사용하기 쉽고 다용도로 활용할 수 있는 프로그램입니다. Mac, Linux, Windows용 Android SDK Platform-Tools의 일부로 adb를 다운로드하고 설치할 수 있습니다.

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

Android 기기를 USB로 컴퓨터에 연결한 다음 다음 명령을 실행하여 adb가 작동하는지 확인할 수 있습니다.

$ adb devices
List of devices attached
31002535c90ef000    device

기기가 표시되지 않으면 Android 기기에서 USB debugging이 활성화되어 있는지 확인하세요. 기기의 Settings를 열고 Developer options(또는 Development)를 찾으세요.

USB debugging 활성화

설치하고 설정한 후, USB로 기기를 연결하고 터미널을 열어 다음을 실행하세요.

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

그러면 기기가 게임의 print 출력을 포함한 모든 출력을 현재 터미널에 덤프합니다.

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

iOS에서 게임 및 시스템 로그를 읽는 방법은 여러 가지가 있습니다.

  1. Console tool을 사용해 게임 및 시스템 로그를 읽을 수 있습니다.
  2. LLDB 디버거를 사용해 기기에서 실행 중인 게임에 연결할 수 있습니다. 게임을 디버그하려면 디버그하려는 기기가 포함된 “Apple Developer Provisioning Profile”로 게임이 서명되어 있어야 합니다. 에디터에서 게임을 번들하고 번들 다이얼로그에서 프로비저닝 프로파일을 지정하세요(iOS 번들링은 macOS에서만 사용할 수 있습니다).

게임을 실행하고 디버거를 연결하려면 ios-deploy라는 도구가 필요합니다. 터미널에서 다음을 실행해 게임을 설치하고 디버그하세요.

$ ios-deploy --debug --bundle <path_to_game.app> # 참고: .ipa 파일이 아님

그러면 앱이 기기에 설치되고 시작되며 LLDB 디버거가 자동으로 연결됩니다. LLDB를 처음 사용한다면 Getting Started with LLDB를 읽어보세요.

로그 파일에서 게임 로그 읽기

game.project의 프로젝트 설정 “Write Log File”을 사용해 파일 로깅을 제어합니다.

  • “Never”: 로그 파일을 쓰지 않습니다.
  • “Debug”: Debug 빌드에서만 로그 파일을 씁니다.
  • “Always”: Debug 및 Release 빌드 모두에서 로그 파일을 씁니다.

활성화하면 모든 게임 출력이 디스크의 “log.txt“라는 파일에 기록됩니다. 기기에서 게임을 실행하는 경우 파일을 추출하는 방법은 다음과 같습니다.

iOS
macOS와 Xcode가 설치된 컴퓨터에 기기를 연결합니다.

Xcode를 열고 Window ▸ Devices and Simulators로 이동합니다.

목록에서 기기를 선택한 다음 Installed Apps 목록에서 관련 앱을 선택합니다.

목록 아래의 톱니바퀴 아이콘을 클릭하고 Download Container...를 선택합니다.

컨테이너 다운로드

컨테이너가 추출되면 Finder에 표시됩니다. 컨테이너를 오른쪽 클릭하고 Show Package Content를 선택합니다. “AppData/Documents/“에 위치해야 하는 “log.txt” 파일을 찾습니다.

Android(
log.txt“를 추출할 수 있는지는 OS 버전과 제조사에 따라 다릅니다. 다음은 짧고 간단한 단계별 가이드입니다.