我如何debuggingAppleScript?

你有什么提示和技巧来debuggingAppleScript? 有debugging器吗? 如果不是,插入“打印”显示variables值的最佳方法是什么? 有没有办法“打印”更复杂的数据结构?

  1. 脚本debugging器
  2. 的XCode
  3. 从脚本编辑器运行时,获取对象的属性(请参阅下文)以了解为什么它失败。 你也可以使用类的单词来查看属性是什么类。 应用程序字典是一个很好的起点。

    一种经常会帮助我的技巧(而且我有时候还是这么做的)就是告诉一些东西要归还他们的属性,像这样:

    tell application "TextEdit" get properties end tell 
  4. 日志语句和Console.app,用于debugging运行时事件。 (进一步在下面)。 您可以通过设置属性来打开和closuresdebugging

    以下是我用来跟踪运行时错误,小程序,邮件规则和你有什么的技术。 当它失败时,错误号和消息被logging到TestDrive.log中,并且可以在Console.app的左边缘find…

     tell application "TextEdit" try set a to text 0 of its name on error e number n my logit("OOPs: " & e & " " & n, "TestDrive") end try end tell to logit(log_string, log_file) do shell script ¬ "echo `date '+%Y-%m-%d %T: '`\"" & log_string & ¬ "\" >> $HOME/Library/Logs/" & log_file & ".log" end logit 

对于非常简单的“printf风格”debugging需求,请尝试

 display dialog "my variable: " & myVar 

如果您正在构build任何数量的AppleScript, ScriptDebugger是我可以推荐的最佳工具。 话说回来…

Xcode是一个免费的选项,可以用来开发AppleScripts,并且可以通过debugging器遍历代码。 该function主要包含在内,因此您可以使用AppleScript Studio构buildCocoa应用程序,但是您可以将其用于任何AppleScript开发。

如果你正在寻找更简单的东西,你可以看看Smile ,这不是一个真正的debugging器,但是提供了一些对于debugging非常有用的function,而这些function在标准的脚本编辑器中是不可用的。

如果显示对话框太小,可以使用TextEdit来显示很大的回报:

 tell application "TextEdit" activate make new document set text of document 1 to myResults end tell 

来源http://forums.macrumors.com/showthread.php?t=446171

有脚本debugging器