2009-09-23 70 views
38

你有什麼提示和技巧來調試AppleScript?有調試器嗎?如果不是,插入「打印」以顯示變量值的最佳方法是什麼?有沒有辦法「漂亮地打印」更復雜的數據結構?如何調試AppleScript?

回答

16
  1. 腳本調試器
  2. XCode
  3. 從腳本編輯器運行時,獲取對象的屬性(請參閱下文)以瞭解其失敗原因。您也可以使用類詞來查看屬性是什麼類。應用程序字典是一個很好的起點。

    一種技術,往往會幫助我的,(我仍然有時這樣做)是告訴一些返回它們的屬性,就像這樣:

    tell application "TextEdit" 
        get properties 
    end tell 
    
  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 
    
+0

get屬性失敗** Mail **(AppleEvent處理程序失敗,數字-10000'),所以它似乎不是通用的,是否有更通用的變體來檢索應用程序的腳本功能? – dualed 2014-10-27 10:35:39

2
+4

$ 199!哎喲!對於偶爾寫短文本的人(比如我)來說,這太昂貴了(然後在下個星期幾周內就忘記了AppleScript的所有內容)。 – 2009-09-23 21:17:13

+0

FWIW現在是99美元。 – 2016-11-01 07:54:51

9

如果你正在構建的AppleScript的任何金額,ScriptDebugger是我可以推薦的最佳工具。話雖如此......

Xcode是一個免費的選項,可以用來開發AppleScripts,並可以通過調試程序一步代碼。此功能主要包含在內,因此您可以使用AppleScript Studio構建Cocoa應用程序,但您可以將其用於任何AppleScript開發。

如果您正在尋找更簡單的東西,您可以查看Smile,這不是一個真正的調試器,但提供了對調試有用的功能,這些功能在標準腳本編輯器中不可用。

+0

看起來Xcode 4刪除了腳本調試器 - http://stackoverflow.com/a/5535604/255961 – studgeek 2012-12-03 23:44:09

48

對於非常簡單的 「printf風格」 調試的需要,儘量

display dialog "my variable: " & myVar