Quels conseils et astuces avez-vous pour déboguer AppleScript? Y a-t-il un débogueur? Sinon, quelle est la meilleure façon d'insérer des "impressions" pour afficher la valeur des variables? Existe-t-il un moyen de "joliment imprimer" des structures de données plus compliquées?
Obtenir les propriétés d'un objet (voir ci-dessous) pour comprendre pourquoi il échoue, lorsqu'il est exécuté à partir de l'éditeur de script. Vous pouvez également utiliser la classe Word pour voir de quelle classe est une propriété. Le dictionnaire pour une application est un bon point de départ.
Une technique qui m'aurait souvent aidé (et que je fais encore parfois) consiste à dire quelque chose pour retourner leurs propriétés, comme ceci:
tell application "TextEdit"
get properties
end tell
Instructions de journal et Console.app, pour le débogage des événements d'exécution. (plus loin ci-dessous). Vous pouvez bien sûr activer et désactiver le débogage en définissant une propriété
Vous trouverez ci-dessous une technique que j'utilise pour suivre les erreurs d'exécution, dans les applets, les règles de messagerie et ce que vous avez. En cas d'échec, le numéro et le message d'erreur sont enregistrés dans TestDrive.log et se trouvent dans la marge gauche de 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
Pour des besoins de débogage très simples de "style printf", essayez
display dialog "my variable: " & myVar
Si vous créez n'importe quelle quantité d'AppleScripts, ScriptDebugger est le meilleur outil que je puisse recommander. Ayant dit cela...
Xcode est une option gratuite qui peut être utilisée pour développer des scripts Apple et peut parcourir le code avec le débogueur. La capacité est principalement incluse afin que vous puissiez créer des applications Cocoa avec AppleScript Studio , mais vous pouvez l'utiliser pour tout développement AppleScript.
Si vous cherchez quelque chose de plus simple, vous pouvez consulter Smile , qui n'est pas vraiment un débogueur, mais offre des fonctionnalités utiles pour le débogage qui ne sont pas disponibles dans l'éditeur de script standard.
Si une boîte de dialogue d'affichage est trop petite, vous pouvez utiliser TextEdit pour afficher de gros retours:
tell application "TextEdit"
activate
make new document
set text of document 1 to myResults
end tell