2012-06-25 19 views
9

संशोधित करें मैंने कई नेस्टेड लूप के साथ एक पायथन प्रोग्राम लॉन्च किया है, और कार्यक्रम में कुछ दिन लगेंगे। मुझे अभी एहसास हुआ कि लूप मानों में से एक गलत है और अनंत लूप बनाता है।एक चल रहे पायथन प्रोग्राम

मैं प्रोग्राम को शून्य से पुनरारंभ नहीं करना चाहता हूं, क्या वर्तमान प्रोग्राम को बाधित करने और लूप रेंज को संशोधित करने का कोई तरीका है, इसलिए यह ठीक से काम करेगा और अगर यह इसे तोड़ने के लिए अनंत लूप से फंस गया हो?

आपकी मदद के लिए बहुत धन्यवाद।

+2

कुछ संकेतों के लिए [यहां] (http://wiki.python.org/moin/DebuggingWithGdb) देखें। – georg

उत्तर

1

यदि कार्यक्रम समय-समय पर अपने राज्य या उसके परिणामों को बचाता है, तो आप एक तर्क जोड़ सकते हैं जो पहले से निष्पादित किए गए चरणों को छोड़ देता है।

अन्यथा, मुझे इसे बदलने का कोई तरीका नहीं दिख रहा है।

0

मुझे लगता है कि बहुत पुराना लेख है लेकिन अभी अभी आया है। मामले में आप अभी भी निम्न तुम कर सकते हो की कोशिश करना चाहते:

अपनी स्क्रिप्ट के रूप में pdb के तहत चलाए करें: अजगर -m pdb

यह pdb के तहत यह चलेंगे। पीडीबी दर्ज करने के बाद बस 'c' (जारी रखें) दर्ज करें। यह आपका कार्यक्रम शुरू करेगा।

जब आप एक अनंत लूप का सामना करते हैं तो बस एक ctrl + c करें यह प्रोग्राम को डीबगर के भीतर रोक देगा। अब आप जो भी पाइथन स्टेटमेंट चाहते हैं उसे चला सकते हैं। संभवतः आप एक नई स्क्रिप्ट को आयात भी कर सकते हैं और उस स्क्रिप्ट या बाहर निकलने वाले कार्यों को चला सकते हैं।

मुझे पता है कि हमेशा डीबगर के तहत चलाने के लिए एक अच्छा विचार नहीं है, लेकिन कम से कम उपर्युक्त आपके द्वारा किए गए कार्यों को हल करेगा।

संबंधित मुद्दे