2014-06-07 7 views
6

मैं अपने पायथन आईडीई के लिए PyCharm (सामुदायिक संस्करण) का उपयोग कर रहा हूं। मैं चाहता हूं कि कार्यक्रम लाइन-दर-लाइन फैशन में डीबग करे। इसलिए मैं हर लाइन को ब्रेक पॉइंट के रूप में सेट नहीं करना चाहता ... क्या ऐसा कोई तरीका है जिससे मैं ऐसा कर सकता हूं?PyCharm: रेखा से डीबगिंग लाइन?

+5

आप यह कर सकते हैं। [Pycharm डीबगिंग हॉटकी देखें] (http://www.jetbrains.com/pycharm/webhelp/stepping-through-the-program.html)। आप 'चरणबद्ध' कार्य कर सकते हैं, 'चरण में' इत्यादि। – CoryKramer

उत्तर

7

जैसा कि @ साइबर ने उल्लेख किया है, debugging hotkeys आपको ब्रेकपॉइंट मारा गया है और कहीं भी रुकने के बाद, लाइन लाइन से लाइन, चरण कॉल में कदम उठाने देगा।

यदि आप वास्तव में प्रत्येक पंक्ति के माध्यम से कदम उठाना चाहते हैं, तो आप अपने कोड की शुरुआत में कहीं भी ब्रेकपॉइंट सेट कर सकते हैं। आप main() अपने कोड में समारोह, उदा .:

def main(): 
    ....  

if __name__ == '__main__': 
    main()     # Breakpoint here, 'Step Inside' to go to next line 

का उपयोग कर रहे हैं तो आप main() करने के लिए कॉल पर ब्रेकपाइंट सेट कर सकते हैं। (यदि आप नहीं हैं, तो आप इस दृष्टिकोण को आजमा सकते हैं।)

एक अन्य बात जो मैं इंगित करता हूं वह है कि सशर्त ब्रेकपॉइंट्स की पाइचर्म की आसानी से अनदेखी सुविधा है। यदि आप संपादक के गटर क्षेत्र में ब्रेकपॉइंट प्रतीक पर राइट-क्लिक करते हैं, तो आप n > 10 जैसी स्थिति में टाइप कर सकते हैं; ब्रेकपॉइंट केवल तभी ट्रिगर होता है जब उस पंक्ति को निष्पादित किया जाता है और स्थिति पूरी हो जाती है। जब आप रिकर्सिव फ़ंक्शन के भीतर कोड समस्याओं को डीबग करने का प्रयास कर रहे हैं, तो कहें, इससे चीजों को बहुत सरल बना दिया जा सकता है।

मुझे पता है कि आखिरी हिस्सा वास्तव में आप जो पूछ रहे थे वह वास्तव में नहीं है, लेकिन जैसे ही आपका कोडबेस बड़ा हो जाता है, प्रत्येक पंक्ति के माध्यम से जाने से वास्तव में समय लेने वाला हो सकता है। आप शायद यूनिट परीक्षण और बड़ी परियोजनाओं के साथ लॉगिंग जैसी चीजों पर अधिक ध्यान केंद्रित करना चाहते हैं।

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