脚本写好了但运行出错?不知道哪行代码有问题?本教程覆盖 MessageBox、TracePrint、单步调试、步过调试和日志分析等 5 种调试手段,附带常见错误代码速查表。
如果是零基础,建议先阅读 零基础掌握按键精灵脚本编写教程,再回来看调试技巧。
MessageBox "当前变量值:" & var,脚本运行到此处会弹出对话框并暂停,便于检查变量值。适合快速定位关键节点。TracePrint "执行到步骤X,变量=" & var,信息会输出到调试窗口但不中断脚本。适合追踪长时间运行脚本的执行流程。Call Plugin.File.WriteLine("debug.log", "操作X完成"),将运行日志写入文件。脚本运行完成后打开日志文件分析。| 常见错误 | 原因 | 解决方法 |
|---|---|---|
| 脚本无法启动 | 杀软拦截或缺少管理员权限 | 将按键精灵目录添加到杀软白名单;右键以管理员身份运行按键精灵 |
| 坐标点击偏移 | 多屏/高DPI缩放 | 在按键精灵设置中开启"高DPI适配";使用相对坐标代替绝对坐标 |
| 录制功能无反应 | DWM窗口合成器拦截 | 尝试以管理员身份运行;关闭系统自带的"游戏模式" |
| FindColor 找不到颜色 | 颜色值在不同环境下有偏差 | 使用"抓抓工具"在当前环境下重新采样颜色值;增加颜色容差参数 |
| 脚本运行到一半停止 | Delay 值不足或窗口失去焦点 | 适当增加 Delay 延迟值;在关键操作前加 SetForegroundWindow 确保窗口焦点 |
| 变量未定义错误 | Dim 声明位置错误 | 所有变量在使用前用 Dim 声明;检查变量名拼写 |
推荐从 TracePrint 开始——在脚本开头和每个关键步骤后加 TracePrint 输出信息,运行后查看调试窗口的输出顺序,通常能快速定位到出错的步骤。如果 TracePrint 不够,再用单步调试逐行排查。
按键精灵主界面底部有"调试信息"窗口(如果未显示,在菜单栏→查看→调试信息中打开)。所有 TracePrint 输出都显示在这里。
这通常是因为直接运行速度太快,窗口焦点或页面加载没跟上。单步执行时每行之间有停顿。解决:在关键操作之间增加 Delay 500 或更长的延迟。