如何调试AppleScript?

Dar*_*zer 46 debugging applescript

调试AppleScript有哪些提示和技巧?有调试器吗?如果没有,插入"打印"以显示变量值的最佳方法是什么?有没有办法"漂亮地打印"更复杂的数据结构?

tuo*_*alo 58

对于非常简单的"printf样式"调试需求,请尝试

display dialog "my variable: " & myVar
Run Code Online (Sandbox Code Playgroud)


McU*_*Usr 18

  1. 脚本调试器
  2. 的XCode
  3. 从脚本编辑器运行时,获取对象的属性(参见下文)以了解其失败的原因.您还可以使用类词来查看属性是什么类.应用程序的词典是一个很好的起点.

    通常会帮助我的一种技术(我有时仍会这样做)是告诉某些东西返回它们的属性,如下所示:

    tell application "TextEdit"
      get properties
    end tell
    
    Run Code Online (Sandbox Code Playgroud)
  4. 日志语句和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
    
    Run Code Online (Sandbox Code Playgroud)


Chu*_*uck 9

如果您正在构建任何数量的AppleScripts,ScriptDebugger是我可以推荐的最佳工具.话说回来...

Xcode是一个免费选项,可用于开发AppleScripts,并可以使用调试器逐步执行代码.该功能主要包含在内,因此您可以使用AppleScript Studio构建Cocoa应用程序,但您可以将其用于任何AppleScript开发.

如果您正在寻找更简单的东西,您可以查看Smile,它不是真正的调试器,但它提供了有助于调试的功能,这些功能在标准脚本编辑器中是不可用的.

  • Xcode 4 似乎删除了脚本调试器 - http://stackoverflow.com/a/5535604/255961 (2认同)

Hex*_*omb 6

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

tell application "TextEdit"
    activate
    make new document
    set text of document 1 to myResults
end tell
Run Code Online (Sandbox Code Playgroud)

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