Подтвердить что ты не робот

Как отлаживать AppleScript?

Какие советы и рекомендации для отладки AppleScript? Есть ли отладчик? Если нет, то какой способ вставить "отпечатки" для отображения значения переменных? Есть ли способ "довольно печатать" более сложные структуры данных?

4b9b3361

Ответ 1

  • Script Отладчик
  • XCode
  • Получение свойств объекта (см. ниже), чтобы понять, почему это не удается, при запуске из редактора script. Вы также можете использовать слово класса, чтобы узнать, какой класс является свойством. Словарь для приложения является хорошей отправной точкой.

    Один метод, который часто помогал мне (и что я все еще иногда делаю) должен сказать что-то, чтобы вернуть их свойства, например:

    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
    

Ответ 2

Для очень простых задач отладки "printf style" попробуйте

display dialog "my variable: " & myVar

Ответ 3

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

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

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

Ответ 4

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