मैं आईपीडीबी का उपयोग अक्सर कोड के टुकड़े पर कूदने के लिए करता हूं जो पृथक है। यानी इसका उपयोग करने वाली वास्तविक स्क्रिप्ट लिखना मुश्किल है। इसके बजाय मैं मॉकिंग के साथ एक न्यूनतम परीक्षण केस लिखता हूं और इसमें कूदता हूं।बाहर निकालना पायथन डीबगर आईपीडीबी
कार्यप्रवाह के लिए अनुकरणीय:
def func():
...
import ipdb
ipdb.set_trace()
...
def test_case():
...
func()
...
फिर,
py.test test_file.py -s -k test_case
आह्वान अब, आमतौर पर मैं सिर्फ एक या चर दो की जांच करके छोड़ना चाहते। कोड बदलें और इसे फिर से करें।
मैं कैसे छोड़ सकता हूँ? मैनुअल कहता है q
डीबगर छोड़ देता है। यह (वास्तव में) नहीं है। डीबगर वास्तव में समाप्त होने से पहले आपको कुछ बार छोड़ना होगा। Ctrl-C और Ctrl-D के लिए एक ही व्यवहार (अतिरिक्त निराशा के साथ जो Ctrl-D को मारने से कई बार अंततः टर्मिनल को छोड़ देता है)।
वहाँ छोड़ने के लिए मजबूर करने के लिए एक स्मार्ट तरीका है? क्या यह वर्कफ़्लो भी समझदार है? ऐसा करने का मानक तरीका क्या है?
मैं इस अब भी हो रही है। यह हालिया व्यवहार है। यह ctrl-c बस ठीक था लेकिन अब यह अभी नहीं छोड़ेगा। एक अपवाद फेंकने से भी इसे रोक नहीं पाएगा। – felix
लिंक करने के लिए [GitHub मुद्दे] (https://github.com/gotcha/ipdb/issues/111) इस समस्या के बारे। –
आईपीथॉन 5.2 में मूल समस्या हल हो गई है, @ cheflo का जवाब देखें। क्या आप इसे उत्तर के रूप में स्वीकार कर सकते हैं कि अन्य लोगों को सुझाए गए कामकाज से भ्रमित न करें? – ffeast