我如何debuggingAppleScript?
你有什么提示和技巧来debuggingAppleScript? 有debugging器吗? 如果不是,插入“打印”显示variables值的最佳方法是什么? 有没有办法“打印”更复杂的数据结构?
- 脚本debugging器
- 的XCode
-
从脚本编辑器运行时,获取对象的属性(请参阅下文)以了解为什么它失败。 你也可以使用类的单词来查看属性是什么类。 应用程序字典是一个很好的起点。
一种经常会帮助我的技巧(而且我有时候还是这么做的)就是告诉一些东西要归还他们的属性,像这样:
tell application "TextEdit" get properties end tell
-
日志语句和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
有脚本debugging器