आमतौर पर पायथन डिबगर / आईडीई मान लेते हैं कि पायथन लिपि उसी प्रक्रिया में चल रही है, जब स्वयं ArcMap.exe में चल रही लिपि को डीबग करना सही है - आपको एक पाइथन स्क्रिप्ट में बूट किए गए GP स्क्रिप्टिंग वातावरण की पर्याप्त आवश्यकता है जैसा कि आप कर सकते हैं साथ डीबग करें।
पिछले कुछ वर्षों में मेरे लिए बहुत अच्छी तरह से काम करने वाली एक विधि एक सरल स्क्रिप्ट लिखना है, जो केवल टूल को कॉल करती है और उपयोग करती है कि पायथन आईडीई (विंग या पायथनविन) में मेरी मुख्य स्क्रिप्ट के रूप में है और मेरे ब्रेकप्वाइंट को टूल-एसपीआई में सेट करें। फ़ाइल उसी IDE सत्र में भी खुलती है।
इसलिए मूल रूप से मैं ऐसा करता हूं:
- मेरे स्क्रिप्ट टूल में काम नहीं कर रहे इनपुट्स का सेट प्राप्त करें
- टूल को कॉल करने वाली .tbx के समान फ़ोल्डर में एक साधारण .py फ़ाइल खोलें
- आईडीई में कॉलर स्क्रिप्ट और स्क्रिप्ट टूल .py फ़ाइल खोलें
- स्क्रिप्ट टूल फ़ाइल में ब्रेकपॉइंट सेट करें
- कॉलर स्क्रिप्ट चलाएँ
और मेरी कॉलर स्क्रिप्ट आमतौर पर बहुत सरल है:
import os
import arcpy
arcpy.ImportToolbox(os.path.join(os.path.dirname(__file__), 'my.tbx'))
arcpy.MyToolThatIsFailing_myalias("inputs", "that", "don't" "work")
मैंने ArcMap में चल रही स्क्रिप्ट को डीबग करने के लिए winpdb की कोशिश की है, लेकिन मुझे कभी भी कोई भाग्य नहीं मिला है। यदि आप इसे आज़माना चाहते हैं और आप इसे अच्छी तरह से काम कर रहे हैं, तो कृपया अपने निष्कर्षों को साझा करें।