2009-09-23 18 views
38

Jakie wskazówki i porady masz do debugowania AppleScript? Czy istnieje debugger? Jeśli nie, jaki jest najlepszy sposób wstawienia "wydruków" w celu wyświetlenia wartości zmiennych? Czy istnieje sposób na "ładny druk" bardziej skomplikowanych struktur danych?Jak mogę debugować AppleScript?

Odpowiedz

16
  1. Debugger skryptów
  2. Kod X
  3. Uzyskiwanie właściwości obiektu (patrz poniżej), aby zrozumieć, dlaczego nie działa, po uruchomieniu z edytora skryptów. Możesz także użyć słowa klasy, aby zobaczyć, która klasa jest własnością. Słownik dla aplikacji to dobry punkt wyjścia.

    Jedną z technik, które często pomogłaby mi (i że nadal czasami nie) jest powiedzieć coś do powrotu ich właściwości, na przykład:

    tell application "TextEdit" 
        get properties 
    end tell 
    
  4. oświadczenia dziennika i Console.app, do debugowania zdarzeń środowiska wykonawczego. (dalej poniżej). Możesz włączyć lub wyłączyć debugowanie, ustawiając właściwość:

    Poniżej znajduje się technika używana do śledzenia błędów środowiska wykonawczego, w apletach, regułach poczty i tym, co masz. Gdy to się nie powiedzie, numer błędu oraz komunikat jest rejestrowany w TestDrive.log, i można je znaleźć w lewym marginesie 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 properties' nie działa dla ** Mail ** (" Program obsługi AppleEvent nie powiodło się. "Number -10000'), więc robi to nie wydaje się być ogólna, czy istnieje bardziej ogólny wariant do pobierania funkcji skryptowania aplikacji? – dualed

2
+4

$ 199! Oooo! To jest zbyt kosztowne dla kogoś (takiego jak ja), który pisze od czasu do czasu krótki scenariusz (a potem zapomina o AppleScript w tygodniach, które upływają do następnego razu). –

+0

FWIW teraz to 99 USD. –

9

Jeśli budujesz dowolną ilość AppleScripts, ScriptDebugger jest najlepszym narzędziem mogę polecić. Powiedziawszy, że ...

Xcode to bezpłatna opcja, która może być wykorzystana do opracowania AppleScripts i może przejść przez kod za pomocą debuggera. Umiejętność jest przede wszystkim uwzględniona, dzięki czemu można budować aplikacje kakao z AppleScript Studio, ale można go użyć do dowolnego rozwoju AppleScript.

Jeśli szukasz czegoś prostszego, możesz sprawdzić Smile, który tak naprawdę nie jest debuggerem, ale oferuje funkcje przydatne do debugowania, które nie są dostępne w standardowym edytorze skryptów.

+0

Wygląda na to, że Xcode 4 zrzucił debuggera skryptów - http://stackoverflow.com/a/5535604/255961 – studgeek

48

Do bardzo prostego "stylu printf" debugowanie potrzeb, spróbuj

display dialog "my variable: " & myVar