web-dev-qa-db-ja.com

AppleScriptをデバッグするにはどうすればよいですか?

AppleScriptをデバッグするためのヒントやコツはありますか?デバッガーはありますか?そうでない場合、変数の値を表示するために「印刷」を挿入する最良の方法は何ですか?より複雑なデータ構造を「きれいに印刷」する方法はありますか?

45
Daryl Spitzer
  1. スクリプトデバッガー
  2. XCode
  3. スクリプトエディタから実行したときに失敗する理由を理解するために、オブジェクトのプロパティを取得します(以下を参照)。クラスWordを使用して、プロパティがどのクラスであるかを確認することもできます。アプリの辞書は良い出発点です。

    多くの場合、私を助けてくれる1つのテクニックは(そして私はまだそうすることがあります)、次のようにプロパティを返すように何かを伝えることです:

    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
    
17
McUsr

非常に単純な「printfスタイル」デバッグのニーズについては、試してください

display dialog "my variable: " & myVar
56
tuomassalo

AppleScriptをいくらでもビルドする場合、 ScriptDebugger が私が推奨できる最良のツールです。そうは言っても...

Xcode は、AppleScriptの開発に使用できる無料のオプションであり、デバッガーでコードをステップ実行できます。この機能は主に含まれているため、 AppleScript Studio でCocoaアプリケーションを構築できますが、AppleScriptの開発に使用できます。

もっとシンプルなものを探しているなら、 Smile をチェックしてください。これは実際にはデバッガーではありませんが、標準のスクリプトエディターでは利用できないデバッグに役立つ機能を提供します。

9
Chuck

表示ダイアログが小さすぎる場合、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

6
Hex Bob-omb