2009-09-23 1 views
38

ऐप्पलस्क्रिप्ट को डिबग करने के लिए आपके पास क्या युक्तियां और युक्तियां हैं? क्या कोई डीबगर है? यदि नहीं, चर के मूल्य को प्रदर्शित करने के लिए "प्रिंट" डालने का सबसे अच्छा तरीका क्या है? क्या "जटिल प्रिंट" और जटिल डेटा संरचनाओं का कोई तरीका है?मैं ऐप्पलस्क्रिप्ट को कैसे डिबग करूं?

उत्तर

16
  1. स्क्रिप्ट डीबगर
  2. एक्सकोड
  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

'गुण प्राप्त करें ** ** ** के लिए विफल हो जाता है (' AppleEvent हैंडलर विफल। "संख्या -10000') तो यह करता है प्रतीत नहीं होता है, क्या अनुप्रयोगों की स्क्रिप्टिंग क्षमताओं को पुनर्प्राप्त करने के लिए एक और सामान्य संस्करण है? – dualed

2

वहाँ Script Debugger

+4

$ 199! आउच! यह किसी के लिए बहुत महंगा है (मेरे जैसा) जो कभी-कभी छोटी लिपि लिखता है (और फिर अगली बार तक आने वाले हफ्तों में ऐप्पलस्क्रिप्ट के बारे में सब कुछ भूल जाता है)। –

+0

एफडब्ल्यूआईडब्ल्यू अब यह $ 99 है। –

9

आप AppleScripts की किसी भी राशि का निर्माण कर रहे हैं है, ScriptDebugger सबसे अच्छा उपकरण मेरा सुझाव कर सकते हैं। यह कहकर कि ...

Xcode एक निःशुल्क विकल्प है जिसका उपयोग ऐप्पलकॉन विकसित करने के लिए किया जा सकता है और डीबगर के साथ कोड के माध्यम से कदम उठा सकता है। क्षमता मुख्य रूप से शामिल है ताकि आप AppleScript Studio के साथ कोको अनुप्रयोगों का निर्माण कर सकें, लेकिन आप इसे किसी भी ऐप्पलस्क्रिप्ट विकास के लिए उपयोग कर सकते हैं।

यदि आप कुछ आसान ढूंढ रहे हैं, तो आप Smile देख सकते हैं, जो वास्तव में एक डीबगर नहीं है, लेकिन मानक स्क्रिप्ट संपादक में उपलब्ध नहीं हैं जो डिबगिंग के लिए उपयोगी सुविधाएं प्रदान करता है।

+0

ऐसा लगता है कि एक्सकोड 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