मैं python -m pdb myapp.py
पर कॉल कर रहा हूं, जब एक अपवाद आग लगती है, और मुझे सामान्य रूप से समस्या की जांच करने के लिए पीडीबी दुभाषिया पर वापस फेंक दिया जाएगा। हालांकि curses.wrapper()
के माध्यम से बुलाए जाने के बाद इस अपवाद को फेंक दिया जा रहा है और पीडीबी दुभाषिया को बेकार करने के लिए श्राप मोड में प्रवेश किया है। मैं इसके आसपास कैसे काम कर सकता हूं?एक ही समय में एक डीबगर और शाप का उपयोग करना?
उत्तर
जेम्स का जवाब अच्छा है और मैंने इसे ऊपर उठाया है, लेकिन मैं अपने कार्यक्रम के तर्क और प्रस्तुति परतों को विभाजित करने की कोशिश करने पर भी विचार करता हूं। शाप को लाइब्रेरी के शीर्ष पर एक पतली परत रखें और एक साधारण ड्राइवर लिखें जो त्रुटि को फिर से बनाने के लिए सही दिनचर्या का आह्वान करता है। फिर आप जरूरी हो सकते हैं और क्या कर सकते हैं।
एक और तरीका जिसे मैं सोच सकता हूं debug
नामक एक फ़ंक्शन बनाना है या कुछ जो आपको नियमित स्क्रीन पर वापस फेंक देता है और पीडीबी का आह्वान करता है। फिर उस कोड से ठीक पहले चिपकाएं जो अपवाद उठाता है और अपना प्रोग्राम चलाता है। जैसे
def debug(stdscr):
curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()
import pdb; pdb.set_trace()
कुछ जाहिर है, यह क्या curses.wrapper
समारोह के साथ किया जाता के समान है। इसका संक्षेप में http://www.amk.ca/python/howto/curses/ पर उल्लेख किया गया है।
शाप तर्क को अलग रखने के लिए एक बुद्धिमान सुझाव, और 'curses.wrapper' सूचक के लिए धन्यवाद। –
आपका स्वागत है। –
पायथन से परिचित नहीं है, यह वही नहीं हो सकता है जो आप चाहते हैं। लेकिन स्पष्ट रूप से, winpdb एक स्क्रिप्ट से संलग्न हो सकता है - जैसे कि जीडीबी एक चल रही प्रक्रिया (IIUC) के लिए कर सकता है।
http://winpdb.org/docs/launch-time/
करें नाम से गुमराह नहीं किया जा सकता, यह मंच स्वतंत्र है।
अच्छा सुझाव। तुमने मुझे इस पर हरा दिया। इस समस्या के बारे में जाने का यह सही तरीका होगा। जीयूआई और डिमन प्रक्रियाओं के लिए भी उपयोगी है। –
मैं इसके बारे में सब भूल गया था! –
मुझे नहीं लगता कि कोर लाइब्रेरी के पीडीबी का उपयोग करके संलग्न करना संभव है? –
उपयोग pyclewn
आप vim साथ pyclewn उपयोग कर सकते हैं। या pdb क्लोन, pyclewn अपनी अच्छी, अपनी तरह gdb के कोर, दूरस्थ डीबग कर सकते हैं
- 1. एक ही समय में
- 2. बेनामी एक वर्ग को विस्तारित करना और एक ही समय में एक इंटरफ़ेस को कार्यान्वित करना?
- 3. fadeOut() और slideUp() एक ही समय में?
- 4. एक्सएनए - एक ही समय में
- 5. दो एक ही समय
- 6. एकाधिक HTML टैग्स में एक ही आईडी का उपयोग करना?
- 7. एक परियोजना के लिए एक ही समय में बिटबकेट और गिटहब का उपयोग कैसे करें?
- 8. jQuery: एक तत्व कैसे दिखाएं और एक ही समय में हाइलाइट प्रभाव का उपयोग कैसे करें?
- 9. एक ही समय
- 10. एक ही समय
- 11. Git: एक ही समय
- 12. पढ़ना FromUri और FromBody एक ही समय
- 13. मैं एक ही समय में एक परियोजना को संकलित कैसे करूं। नेट 3.5 और 4 एक ही समय में
- 14. क्या मैं एक ही समय में डीएस
- 15. एसक्यूएल: एक ही चयन बयान में एक समारोह में एक स्तंभ की उर्फ का उपयोग करना
- 16. एक ही समय में गिट और एसवीएन के साथ काम
- 17. पैन और 2 फिंगर एक ही समय
- 18. आईओएस पिंच स्केल और एक ही समय
- 19. Foldmethod = मार्कर और सिंटैक्स एक ही समय में?
- 20. एक आंतरिक वर्ग के नाम और एक वस्तु नाम जावा में एक ही उपयोग करना
- 21. एक ही समय में एकाधिक ध्वनि चलाएं
- 22. क्या हाइबरनेट में एक ही प्रोजेक्ट में एनोटेशन और एचबीएम.एक्सएमएल फाइलों का उपयोग करना संभव है?
- 23. एक ही समय में विलंबित नौकरियां और साइडकीक चलाएं
- 24. पुन: संरचित पाठ में, मैं एक ही समय में जोर और सुपरस्क्रिप्ट का उपयोग कैसे करूं?
- 25. mysql समय और php समय नहीं एक ही
- 26. स्थिति: एक ही समय में निश्चित और पूर्ण। कैसे?
- 27. रेल 3: एक ही समय में सक्रिय रिकॉर्ड और मैंगॉयड का उपयोग कैसे करें
- 28. एक ही समय में AVCaptureVideoDataOutput और AVCaptureMovieFileOutput का उपयोग कर सकते हैं?
- 29. perlbrew और स्थानीय :: lib एक ही समय में?
- 30. अजाक्स एक ही समय में एकाधिक अनुरोध
मैं वहाँ उपयोगी जानकारी http://wiki.python.org/moin/PythonDebuggers –
मैं एक हंसी मिला हो सकता है लगता है का उपयोग इस के शीर्षक पर। हाँ डीबगिंग और शाप मेरे दिमाग में एक साथ जाने लगते हैं। – HLGEM