जो मैं कह सकता हूं, पीडीबी पहचान नहीं करता है जब स्रोत कोड "रन" के बीच बदल गया है। यही है, अगर मैं डिबगिंग कर रहा हूं, तो एक बग नोटिस करें, उस बग को ठीक करें, और प्रोग्राम को पीडीबी में पुन: चालू करें (यानी पीडीबी से बाहर निकलने के बिना), पीडीबी कोड को फिर से संकलित नहीं करेगा। मैं अभी भी कोड के पुराने संस्करण को डिबग कर दूंगा, भले ही पीडीबी नए स्रोत कोड को सूचीबद्ध करे।पीडीबी कैसे पहचानें कि स्रोतों के बीच स्रोत बदल गया है?
तो, pdb स्रोत परिवर्तन के रूप में संकलित कोड को अद्यतन नहीं करता है? यदि नहीं, तो ऐसा करने का कोई तरीका है? मैं अपने ब्रेकपॉइंट्स और ऐसे रखने के लिए एक पीडीबी सत्र में रहना चाहता हूं।
Fwiw, gdb जब कार्यक्रम यह केवल उस कार्यक्रम का एक पुनः आरंभ करने पर हालांकि, इसे नीचे परिवर्तन डिबगिंग है देखेंगे। यह वह व्यवहार है जिसे मैं पीडीबी में दोहराने की कोशिश कर रहा हूं।
मैं "फिर से दौड़ना" से क्या मतलब धारणात्मक, है, क्या मैं से एक अजगर कार्यक्रम का पुनर्प्रसारण मतलब कमांड लाइन। पीडीबी स्पष्ट रूप से मेरे कार्यक्रम से बाहर निकलने की धारणा को समझता है, इसलिए मैं सोच रहा हूं, जब यह मेरे कार्यक्रम को दूसरी बार चलाता है, अगर मैं इसे आवश्यकतानुसार स्रोत को पुन: संकलित करने के लिए प्राप्त कर सकता हूं। – user88028
आप इसे फिर से चलाने से पहले पीडीबी के अंदर से 'पुनः लोड' का उपयोग करने का प्रयास कर सकते हैं, लेकिन फिर से, आपके प्रोग्राम की संरचना के आधार पर, यह विश्वसनीय नहीं हो सकता है। (एफडब्ल्यूआईडब्लू, मैं इसे एक भाषा के रूप में पाइथन की सबसे बड़ी विफलता मानता हूं। स्मॉलटाक और लिस्प जैसे वातावरण से आ रहा है, यह बस निराशाजनक है।) –
@ निकोलस रिले मैं पायथन ट्रैन डीबगर्स में एक कमांड के रूप में xreload को शामिल करना चाहता हूं (trepan3k https: //pypi.python.org/pypi/trepan3k और trepan2 https://pypi.python.org/pypi/trepan2)। ये जीपीएल 3 हैं। यह ठीक है? क्या आप लेखक हैं? – rocky