AppleScriptをデバッグするためのヒントやコツはありますか?デバッガーはありますか?そうでない場合、変数の値を表示するために「印刷」を挿入する最良の方法は何ですか?より複雑なデータ構造を「きれいに印刷」する方法はありますか?
スクリプトエディタから実行したときに失敗する理由を理解するために、オブジェクトのプロパティを取得します(以下を参照)。クラスWordを使用して、プロパティがどのクラスであるかを確認することもできます。アプリの辞書は良い出発点です。
多くの場合、私を助けてくれる1つのテクニックは(そして私はまだそうすることがあります)、次のようにプロパティを返すように何かを伝えることです:
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
非常に単純な「printfスタイル」デバッグのニーズについては、試してください
display dialog "my variable: " & myVar
AppleScriptをいくらでもビルドする場合、 ScriptDebugger が私が推奨できる最良のツールです。そうは言っても...
Xcode は、AppleScriptの開発に使用できる無料のオプションであり、デバッガーでコードをステップ実行できます。この機能は主に含まれているため、 AppleScript Studio でCocoaアプリケーションを構築できますが、AppleScriptの開発に使用できます。
もっとシンプルなものを探しているなら、 Smile をチェックしてください。これは実際にはデバッガーではありませんが、標準のスクリプトエディターでは利用できないデバッグに役立つ機能を提供します。
表示ダイアログが小さすぎる場合、TextEditを使用して大きなリターンを表示できます。
tell application "TextEdit"
activate
make new document
set text of document 1 to myResults
end tell