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 的文件日志。详见下文。
当您从编辑器本地运行游戏或连接到移动开发应用时,所有输出将显示在编辑器的控制台窗格中:
当您从终端运行Defold游戏时,日志将显示在终端窗口本身中。在Windows和Linux上,您在终端中键入可执行文件的名称来启动游戏。在macOS上,您需要从.app文件内启动引擎:
$ > ./mygame.app/Contents/MacOS/mygame
可以使用大多数浏览器提供的开发者工具读取日志。
您可以使用Android调试桥(ADB)工具查看游戏和系统日志。
adb
命令行工具是一个易于使用且功能多样的程序,用于与 Android 设备进行交互。您可以作为 Android SDK Platform-Tools 的一部分下载并安装 adb
,适用于 Mac、Linux 或 Windows。
从以下地址下载 Android SDK Platform-Tools:https://developer.android.com/studio/releases/platform-tools。您可以在 /platform-tools/ 目录中找到 adb 工具。或者,也可以通过各平台相应的软件包管理器安装特定平台的软件包。
在 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
您可以通过 USB 将 Android 设备连接到计算机,然后发出以下命令来验证 adb
是否正常工作:
$ adb devices
List of devices attached
31002535c90ef000 device
如果您的设备没有显示,请确认您已在 Android 设备上启用 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: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-deploy的工具。通过在终端中运行以下命令来安装和调试您的游戏:
$ ios-deploy --debug --bundle <path_to_game.app> # 注意: 不是 .ipa 文件
这将在您的设备上安装应用程序,启动它并自动将LLDB调试器附加到它。如果您是LLDB的新手,请阅读LLDB入门。
使用 game.project 中的“Write Log File”设置控制是否写入日志文件:
启用后,任何游戏输出都会写入磁盘中的“log.txt
”。以下是在设备上运行游戏时如何提取该文件:
打开Xcode并转到Window ▸ Devices and Simulators。
在列表中选择您的设备,然后在Installed Apps列表中选择相关的应用程序。
单击列表下方的齿轮图标并选择Download Container...。
容器提取后,它将显示在Finder中。右键单击容器并选择Show Package Content。找到文件”log.txt
“,它应该位于”AppData/Documents/
“中。
log.txt
“的能力取决于操作系统版本和制造商。这里有一个简短的简单的逐步指南。Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB