跳到主要内容
版本:3.0.2

调试你的脚本

自动化脚本的运行,并不总能符合预期。在编写脚本时,你可能会遇到各种各样的问题,比如:

  • 没有任何反应
  • 脚本运行时间过长
  • 出现了意料之外的错误

在这些情况下,你需要灵活运用 XXTouchNG 中集成的调试器和 VSCode 调试模式,以便尽快找到问题所在,而不是总在大量的日志中找寻蛛丝马迹。

配置调试器

在 VSCode 主菜单中点击 运行 -> 添加配置,选择 LuaPanda。随后,VSCode 会自动打开 launch.json 文件,其中包含了一些默认调试配置。我们需要修改其中的 connectionIP 字段,将其值修改为 Mac 在局域网中的 IP 地址,例如:

launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "lua",
"request": "launch",
"tag": "normal",
"name": "LuaPanda",
"description": "通用模式",
"cwd": "${workspaceFolder}",
"luaFileExtension": "lua",
"connectionIP": "192.168.2.174",
"connectionPort": 8818,
"stopOnEntry": false,
"useCHook": true,
"autoPathMode": true
}
]
}

启动调试模式

单击打开 greetings.lua,在 nLog("Hello, World!") 语句上方单击行号以添加断点,断点标记为一个小红点。

窗口右上角选择 远程调试 按钮,你会看到 VSCode 中的 greetings.lua 文件中的 nLog("Hello, World!") 这行语句被高亮显示。设备上并未出现 “脚本消息” 提示框,这是因为脚本执行已经暂停在这一行。

此时,你可以在 VSCode 中查看脚本的变量和调用堆栈,或者在调试控制台中输入要观察的变量或执行表达式。

单击 VSCode 调试浮动条上的 单步跳过 按钮,终端的 “网络日志” 中出现一行日志:

2022-10-06 00:44:38 [INFO] Hello, World!

单击 VSCode 调试浮动条上的 继续 按钮,脚本继续执行,设备上出现 “脚本消息” 提示框,其内容为 Hello, World!

随后,在设备上点击 “好” 按钮。脚本结束运行的同时 VSCode 会退出调试模式。