调试AppleScript有哪些提示和技巧?有调试器吗?如果没有,插入"打印"以显示变量值的最佳方法是什么?有没有办法"漂亮地打印"更复杂的数据结构?
对于非常简单的"printf样式"调试需求,请尝试
display dialog "my variable: " & myVar
脚本调试器
的XCode
从脚本编辑器运行时,获取对象的属性(参见下文)以了解其失败的原因.您还可以使用类词来查看属性是什么类.应用程序的词典是一个很好的起点.
通常会帮助我的一种技术(我有时仍会这样做)是告诉某些东西返回它们的属性,如下所示:
tell application "TextEdit" get properties end tell
日志语句和Console.app,用于调试运行时事件.(下面).您可以通过设置属性来打开和关闭调试
以下是我用于跟踪运行时错误,小程序,邮件规则以及您的内容的技术.当它失败时,错误号和消息将记录到TestDrive.log中,并且可以在Console.app的左边缘找到...
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
如果您正在构建任何数量的AppleScripts,ScriptDebugger是我可以推荐的最佳工具.话说回来...
Xcode是一个免费选项,可用于开发AppleScripts,并可以使用调试器逐步执行代码.该功能主要包含在内,因此您可以使用AppleScript Studio构建Cocoa应用程序,但您可以将其用于任何AppleScript开发.
如果您正在寻找更简单的东西,您可以查看Smile,它不是真正的调试器,但它提供了有助于调试的功能,这些功能在标准脚本编辑器中是不可用的.
如果显示对话框太小,您可以使用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