पीछे ट्रेसिंग
बैक ट्रेसिंग फीचर से जुड़े किसी इवेंट के लिए एक समापन बिंदु का पता लगा रहा है (नीचे देखें)। एक बार वहाँ, एक ब्रेकपॉइंट डीबगर में रखा जाता है। जब डीबगर बंद हो जाता है तो सुविधा चालू हो जाती है। कॉल स्टैक का पता लगाने के लिए कॉल स्टैक की समीक्षा की जाती है। कॉल स्टैक ऊपर चलते समय आप चर राज्यों पर नोट्स ले सकते हैं, या फिर घटना का निरीक्षण करने के लिए नए ब्रेकप्वाइंट लगा सकते हैं।
फीचर फिर से ट्रिगर होता है और डिबगर नए ब्रेकपॉइंट्स पर रुक जाता है। आप तब तक ट्रेसिंग को दोहरा सकते हैं या लक्ष्य का पता लगाने तक फॉरवर्ड ट्रेसिंग कर सकते हैं।
फायदे नुकसान
- कॉल स्टैक को चलना और यह देखना आसान है कि आप कहीं गए।
- एक समापन बिंदु तक पहुँचने से पहले लाखों स्थितियाँ सच हो सकती हैं। यदि आपको पता है कि समापन बिंदु पहले से ही आप अपने आप को बहुत काम बचा लिया है।
- यदि सुविधा टूटी हुई है। आप कभी भी अंतिम बिंदु तक नहीं पहुंच सकते हैं, और यह जानने की कोशिश में समय बर्बाद हो सकता है।
समापन बिंदु खोज
किसी विशेषता को डीबग करने के लिए आपको यह जानना होगा कि स्रोत कोड में अंतिम लक्ष्य कहां प्राप्त होता है। केवल इस बिंदु से आप कर सकते हैं पश्व-अनुरेखन देखना चाहते हैं कि कोड वहाँ गया। एक उदाहरण; यह समझने के लिए कि प्रदर्शन कैसे किया जाता है। आपको पता है कि कोड में चीजें पूर्ववत कहां हैं, लेकिन आप नहीं जानते कि चीजें कैसे मिलती हैं । इस के लिए एक उम्मीदवार होगा backtracing यह पता लगाने की कैसे सुविधा काम करता है।
आगे ट्रेसिंग
फॉरवर्ड ट्रेसिंग एक सुविधा से जुड़े एक घटना के लिए एक शुरुआती बिंदु का पता लगा रहा है (नीचे देखें)। एक बार वहाँ, लॉगिंग संदेशों को स्रोत कोड में डाला जाता है या ब्रेकपॉइंट सेट किए जाते हैं। यह प्रक्रिया तब तक दोहराई जाती है जब तक आप प्रारंभ बिंदु से और आगे नहीं बढ़ते हैं जब तक कि आप सुविधा के लिए लक्ष्य की खोज नहीं करते हैं।
फायदे नुकसान
- यह एक सुविधा खोजने के लिए सबसे आसान शुरुआती बिंदु है।
- कोड जटिलता आगे ट्रेसिंग की प्रभावशीलता को कम करती है। कोड में जितनी अधिक परिस्थितियां होंगी उतनी अधिक संभावना होगी कि आप गलत दिशा में जाएंगे।
- फॉरवर्ड ट्रेसिंग से अक्सर ब्रेकपॉइंट की स्थापना होती है जो असंबंधित घटनाओं से चालू हो जाएगा। डिबगिंग प्रक्रिया को बाधित करना और आपकी खोज में हस्तक्षेप करना।
प्वाइंट डिस्कवरी शुरू करें
आप कीवर्ड, उपयोगकर्ता इंटरफ़ेस आइडेंटिफ़ायर (बटन आईडी, विंडो नाम) या सुविधा से जुड़े ईवेंट श्रोताओं को खोजने के लिए उपयोग कर सकते हैं। उदाहरण के लिए, आप पूर्ववत सुविधा को ट्रिगर करने के लिए उपयोग किए जाने वाले बटन से शुरू कर सकते हैं।
उन्मूलन की प्रक्रिया
आप इसे बिंदु बिंदु और अंत बिंदु स्थिति की तुलना में मध्य बिंदु के रूप में सोच सकते हैं । जब आप पहले से ही एक सुविधा में कोड का एक टुकड़ा उपयोग किया जाता है, तो आप उन्मूलन की एक प्रक्रिया करते हैं, लेकिन यह न तो सुविधा का प्रारंभ या अंत है।
मध्य बिंदु से आप जो दिशा लेते हैं, वह प्रविष्टियों की संख्या और निकास पर निर्भर करती है। यदि कोड चंक का उपयोग कई स्थानों पर किया जाता है, तो इस स्थिति से वापस अनुरेखण बहुत समय लेने वाला हो सकता है क्योंकि इन सभी का निरीक्षण किया जाना है। फिर आप इस सूची को कम करने के लिए उन्मूलन की प्रक्रिया को नियोजित करते हैं। वैकल्पिक, आप इस बिंदु से एक आगे ट्रेस कर सकते हैं , लेकिन फिर से यदि कोड कई स्थानों से बाहर निकलता है तो यह भी एक समस्या हो सकती है।
आपको पथ के निर्देशों का पालन नहीं करके स्थिति दिशाओं को कम करना होगा जो स्पष्ट रूप से सुविधा के लिए निष्पादित नहीं किए जाएंगे। इस कोड से आगे बढ़ते हुए और केवल ब्रेकप्वाइंट रखकर जहां यह सुविधा से संबंधित है।
मध्य बिंदु डिबगिंग में अक्सर अधिक अग्रिम आईडीई सुविधाओं की आवश्यकता होती है। कोड पदानुक्रम और निर्भरता देखने की क्षमता। उन उपकरणों के बिना यह करना मुश्किल है।
फायदे नुकसान
- मध्य बिंदु अक्सर कोड का पहला मसाला होता है जो आपके दिमाग में उस समय आता है जब आप फीचर के बारे में सोचते हैं। आप अपने आप से कहते हैं "आह, जिसे काम करने के लिए XXXX का उपयोग करना है।"
- मध्य बिंदु शुरू अंक प्रकट कर सकते हैं सबसे आसान।
- सिंक्रोनाइज़ेशन या थ्रेडिंग परिवर्तन द्वारा खो जाने पर एक विशेषता के लिए मध्य बिंदुओं को लेने के लिए मध्य बिंदु एक आसान तरीका हो सकता है।
- मध्य बिंदु आपको उस कोड पर ले जा सकते हैं जिससे आप परिचित नहीं हैं। आपको यह जानने में समय लगता है कि क्या हो रहा है।