VSCode 断点调试——远程单步执行、变量观察、调用栈
支持条件
- Auto.js Pro 9.x:完整支持 VSCode 调试协议
- AutoJs6 v6+:支持调试
- Auto.js 4.1.1:不支持断点调试,只能靠 log()
配置 launch.json
VSCode 打开命令面板 → 「Debug: Open launch.json」→ 选择 Auto.js 类型 → 生成模板:
{
"version": "0.2.0",
"configurations": [
{
"name": "Auto.js Debug",
"type": "auto-js",
"request": "launch",
"program": "${file}",
"cwd": "${workspaceFolder}"
}
]
}
打断点
在代码行号左侧点一下,出现红点就是断点。按 F5 开始调试,脚本执行到断点会暂停:

调试控制
| 快捷键 | 功能 |
|---|---|
| F5 | 开始 / 继续 |
| F10 | 单步跳过(Step Over) |
| F11 | 单步进入(Step Into) |
| Shift+F11 | 跳出(Step Out) |
| Shift+F5 | 停止调试 |
变量观察
暂停后左侧面板显示:
- VARIABLES:当前作用域所有变量的值(悬停可看类型)
- WATCH:手动添加要观察的表达式
- CALL STACK:函数调用栈
- CONSOLE:调试控制台,可以直接执行表达式
实战:调试一个签到脚本
auto.waitFor();
launchApp("淘宝"); // ← 在这里打第一个断点
sleep(2000);
var btn = text("签到").findOne(); // ← 在这里打第二个断点
btn.click();
toast("完成");
按 F5 开始:
- 脚本执行到第一个断点暂停 → 此时看淘宝是否已打开
- 点 F10 单步跳过 → 执行 sleep(2000)
- 执行到第二个断点暂停 → 在 VARIABLES 里看
btn是否为 null - 如果 btn 为 null,说明「签到」按钮没找到 → 在 VSCode 改代码 → 重新 F5
常见问题
连接后调试点 F5 没反应
- 确认 Auto.js 侧拉菜单的调试服务已开启
- 确认 VSCode 右下角显示「已连接 N 台设备」
- 确认 launch.json 里的 program 路径指向正确文件
- 重启 VSCode 和 Auto.js 调试服务
调试过程中手机锁屏
锁屏会暂停无障碍服务,建议调试时保持手机亮屏(开发者选项里开「不锁屏」)。
断点不生效
- 如果脚本用了
threads.start()开子线程,子线程里的断点需要特殊配置 - 确认版本支持断点(4.1.1 原版不支持)