2009-09-23 4 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 properties' терпит неудачу для ** Mail ** (обработчик' AppleEvent обработчик не удалось. "-10000'), поэтому он делает похоже, не является общим, существует ли более общий вариант для получения возможностей сценариев приложений? – dualed

2

Существует Script Debugger

+4

$ 199! Ой! Это слишком дорого для кого-то (как я), который пишет случайный короткий скрипт (а затем забывает все об AppleScript в течение недель, которые проходят до следующего раза). –

+0

FWIW теперь это $ 99. –

9

Если вы строите любое количество AppleScripts, ScriptDebugger это лучший инструмент, который я могу рекомендовать. Сказав, что ...

Xcode - бесплатный вариант, который может быть использован для разработки AppleScripts и может выполнять код с помощью отладчика. Способность в первую очередь включена, поэтому вы можете создавать приложения Cocoa с помощью AppleScript Studio, но вы можете использовать его для любой разработки AppleScript.

Если вы ищете что-то более простое, вы можете проверить Smile, что на самом деле не является отладчиком, но предлагает функции, полезные для отладки, которые недоступны в стандартном редакторе сценариев.

+0

Кажется, что Xcode 4 отбросил сценарий отладчика - http://stackoverflow.com/a/5535604/255961 – studgeek

48

Для очень простой "PRINTF стиле" отладки потребности, попробуйте

display dialog "my variable: " & myVar 
6

Если диалог дисплей слишком мал, вы можете использовать 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

Смежные вопросы