Script Debugger for Mac 详尽指南

Script Debugger 是 macOS 平台上功能强大、专业的 AppleScript 集成开发与调试环境。它超越了系统自带的“脚本编辑器”,为开发者提供了完整的项目管理和深度调试工具,是自动化工作流和脚本开发的利器。本文将深入解析其界面、工作流及核心技巧。

一、核心界面与工作区详解

启动 Script Debugger 后,您将看到一个结构清晰、功能分区明确的主界面,主要包含以下几个关键区域:

  1. 导航器面板(左侧):通常位于窗口左侧,以树状结构或列表形式展示当前打开的所有脚本文件、应用程序字典、或项目包含的资源。您可以在此快速在不同脚本间切换。
  2. 脚本编辑区(中央):这是核心工作区域,用于编写和编辑 AppleScript 代码。它提供语法高亮、代码折叠、智能补全和实时语法检查。
  3. 字典浏览器:一个独立但至关重要的窗口(可通过 Shift+Cmd+D 打开),以清晰可读的格式展示任何应用程序的 AppleScript 词典,是编写针对特定应用脚本的必备参考。
  4. 调试器面板(底部):包含多个标签页,如“结果”、“事件日志”、“变量”等。在调试模式下,这里会显示脚本执行后的返回值、记录的所有 Apple Events 以及当前作用域内的变量及其值。
  5. 工具栏:提供快速访问按钮,如运行、编译、停止、断点切换等。

二、完整操作流程:从创建到导出

1. 创建或打开项目

创建新脚本:

  • 方法:点击菜单栏 “文件” > “新建”,或直接使用快捷键 Cmd+N。
  • 位置:一个新的、未命名的脚本窗口将在编辑区打开。

打开现有脚本:

  • 方法:点击菜单栏 “文件” > “打开…”,或使用快捷键 Cmd+O,然后在文件选择器中定位您的 .scpt 或 .applescript 文件。

2. 编写与编译脚本

在脚本编辑区直接输入代码。Script Debugger 会实时进行语法检查。

  • 编译:点击工具栏的“编译”按钮(锤子图标)或按 Cmd+K。这将检查语法并将您的代码转换为可执行格式。错误会在问题面板中高亮显示。

3. 运行与调试脚本

运行脚本:

  • 方法:点击工具栏的“运行”按钮(三角形图标)或按 Cmd+R。脚本将从头到尾执行一次。
  • 查看结果:执行后,底部调试器面板的“结果”标签页会显示脚本的最终返回值。

调试脚本(核心功能):

  1. 设置断点:在编辑区行号左侧点击,会出现一个红色断点标记。或使用快捷键 Cmd+ 在当前行切换断点。
  2. 开始调试:点击工具栏的“调试”按钮(带虫子的三角形)或按 Cmd+Shift+R。脚本会运行并在第一个断点处暂停。
  3. 单步执行:暂停后,使用调试控制按钮或快捷键:
    • 步过 (F6):执行当前行,不进入子程序。
    • 步入 (F7):如果当前行包含子程序调用,则进入该子程序内部。
    • 步出 (F8):执行完当前子程序剩余部分,并返回到调用处。
  4. 检查变量:在底部调试器面板的“变量”标签页中,可以查看和监视所有变量的实时值。

4. 保存与导出最终成果

保存脚本:

  • 方法:“文件” > “保存” 或 Cmd+S。您可以选择保存为可编辑的脚本文件(.scpt)或纯文本格式(.applescript)。

导出为应用程序:

  • 方法:“文件” > “导出…” 或 Cmd+Shift+S。
  • 位置与选项:在导出对话框中,选择“文件格式”为“应用程序”。您可以设置应用程序图标、启动屏幕、运行环境(保持打开/关闭)等选项,然后选择保存位置。

三、常用功能进阶技巧

  1. 深度字典探索:在字典浏览器中,不仅可查看命令和类,还能对特定条目右键选择“在脚本中插入示例”,快速生成代码框架。
  2. 事件日志监控:在调试器面板的“事件日志”中,可以查看脚本与应用程序之间发送的所有 Apple Events 的原始数据,对于排查复杂交互问题至关重要。
  3. 脚本库管理:通过 “脚本” > “库” 菜单,可以加载和管理常用的脚本库,实现代码复用。
  4. 快速打开字典:在脚本编辑器中,将光标置于某个应用程序对象名(如“Finder”)上,按 Ctrl+Cmd+D 可直接打开该应用的字典。
  5. 使用“Tell”块探测器:当脚本在“tell application … end tell”块内暂停时,变量面板会显示该目标应用的专属属性,方便查看应用状态。

四、常见问题与解决方案

问题1:脚本在 Script Debugger 中运行正常,但导出为应用程序后无法运行。

解决方案:检查导出设置。确保在导出对话框的“选项”中,正确设置了应用程序的“运行模式”(例如,是否需要显示启动屏幕)。更常见的是权限问题,请确保应用程序位于用户有执行权限的目录(如“应用程序”文件夹),并首次运行时在“系统设置-隐私与安全性”中授予执行权限。

问题2:调试时无法看到某些变量的值,或变量面板显示为“<out of scope>”。

解决方案:这表示该变量在当前暂停的执行上下文中不可见(例如,是另一个处理程序内的局部变量)。确保您在正确的执行堆栈帧中。在调试器面板的“调用栈”区域,点击不同的堆栈层级,变量面板的内容会随之变化。

问题3:断点有时会被忽略。

解决方案:首先确认您是以调试模式(Cmd+Shift+R)而非普通运行模式(Cmd+R)启动的脚本。其次,检查断点是否设置在可执行代码行上(注释行、空行上的断点无效)。最后,尝试清理并重新设置断点。

问题4:如何调试“运行脚本”处理程序(由应用程序事件触发)?

解决方案:这需要附加到目标进程进行调试。在 Script Debugger 中,使用 “调试” > “附加到进程…” 菜单,然后选择运行您脚本的应用程序(如 Finder)。之后,当该应用程序触发您的脚本时,Script Debugger 会自动拦截并进入调试状态。

五、快捷键汇总表

功能分类 操作描述 Mac 快捷键
文件操作 新建脚本 Cmd + N
打开脚本 Cmd + O
保存脚本 Cmd + S
导出… Cmd + Shift + S
编辑与编译 编译脚本 Cmd + K
显示/隐藏字典浏览器 Shift + Cmd + D
快速打开光标处应用的字典 Ctrl + Cmd + D
运行与调试 运行脚本 Cmd + R
调试脚本(带断点) Cmd + Shift + R
停止执行 Cmd + .
切换断点 Cmd +
单步步过 F6
单步步入 F7
调试控制 单步步出 F8
窗口与视图 显示/隐藏调试器面板 Cmd + 0

爱上MAC 一站式Mac软件下载平台
第三方登录
captcha
第三方登录