अन्य भाषाओं में पढ़ें: अंग्रेजी Español 中文
एक सामान्य डिबगिंग परिदृश्य में, आप डिबगर को यह बताने के लिए ब्रेकप्वाइंट सेट करेंगे कि आपके प्रोग्राम को कब निलंबित करना है। ब्रेकप्वाइंट आमतौर पर उस क्षण से मेल खाता है जो आगे की जांच के लिए शुरुआती बिंदु को चिह्नित करता है।
ब्रेकपॉइंट कहां सेट करना है यह तय करना चुनौतीपूर्ण हो सकता है। ऐसी स्थितियाँ हो सकती हैं जहाँ सटीक रेखा अस्पष्ट हो, या आप विशिष्ट कोड के बजाय समय के आधार पर कार्यक्रम को रोकना पसंद कर सकते हैं।
इस लेख में, हम IntelliJ IDEA की पॉज़ प्रोग्राम कार्यक्षमता पर एक नज़र डालेंगे - एक कम-ज्ञात डिबगिंग तकनीक जो ऊपर वर्णित परिदृश्यों सहित कुछ परिदृश्यों में बेहद शक्तिशाली हो सकती है। हम इसके उपयोग के मामलों और सीमाओं पर चर्चा करेंगे, साथ ही चरण दर चरण रहस्य की खोज करेंगे।
पॉज़ प्रोग्राम IntelliJ IDEA डिबगर की एक सुविधा है जो आपको किसी भी समय अपने एप्लिकेशन को मनमाने ढंग से रोकने की अनुमति देती है। इसके अलावा, आपको एप्लिकेशन कोड जानने की भी आवश्यकता नहीं है। वास्तव में, आप इसे अनदेखा कर सकते हैं!
किसी प्रोग्राम को रोकने के लिए, डिबगर टूलबार पर प्रोग्राम रोकें पर क्लिक करें। फिर, आप जो कुछ भी कर रहे हैं उसके ठीक बीच में प्रोग्राम बंद हो जाएगा।
पहली नज़र में, एक रुका हुआ प्रोग्राम बिल्कुल वैसा ही दिख सकता है जिसे ब्रेकपॉइंट पर निलंबित कर दिया गया हो। हालाँकि, यह कुछ हद तक ही सच है।
पॉज़ प्रोग्राम को एक प्रकार का थ्रेड डंप प्लस मानना सही होगा। आप अभी भी वेरिएबल और थ्रेड दोनों का उसी तरह निरीक्षण कर सकते हैं जैसे आप सामान्य रूप से करते हैं। हालाँकि, कुछ अधिक उन्नत सुविधाएँ, जैसे कि अभिव्यक्ति का मूल्यांकन करें, काम नहीं करेंगी।
पॉज़ प्रोग्राम का उपयोग करने के अनगिनत तरीके हैं। इसे अक्सर पारंपरिक ब्रेकप्वाइंट के साथ परस्पर उपयोग किया जा सकता है। हालाँकि, ऐसे परिदृश्य हैं जहां पॉज़ प्रोग्राम का उपयोग करना अधिक उपयुक्त दृष्टिकोण है। आइए उनमें से कुछ पर विचार करें।
यदि आपको उपयोगकर्ता इंटरफ़ेस (यूआई) फ्रीज का सामना करना पड़ता है, तो यह आमतौर पर यूआई थ्रेड अवरुद्ध होने के कारण होता है।
पॉज़ प्रोग्राम इस मामले में उपयोगी हो सकता है, क्योंकि यह आपको एप्लिकेशन को अनुत्तरदायी होने पर रोकने और यूआई थ्रेड के कॉल स्टैक की जांच करने की अनुमति देता है। यह आमतौर पर समस्या का निदान करने के लिए पर्याप्त है।
जैसा कि पहले उल्लेख किया गया है, पॉज़ प्रोग्राम आपको केवल स्रोत कोड को अनदेखा करने की अनुमति देता है, जो वैसे भी आपके लिए गायब हो सकता है। हालाँकि यह परिदृश्य बहुत सामान्य नहीं है, जब आप इसका सामना करते हैं, तो ब्रेकप्वाइंट कोई मदद नहीं करेंगे।
यह वह जगह है जहां पॉज़ प्रोग्राम चलन में आता है!
यदि आपको किसी सिंक्रनाइज़ेशन समस्या, जैसे गतिरोध या लाइवलॉक पर संदेह है, तो प्रोग्राम रोकें आपको सटीक थ्रेड और लॉक ढूंढने में मदद कर सकता है जो समस्या का कारण बन रहे हैं।
इस मामले में, प्रोग्राम को रोकें और थ्रेड सूची का निरीक्षण करें। यह दिखाएगा कि कौन से धागे अवरुद्ध हैं। जब आप निष्पादन बिंदु पर नेविगेट करते हैं, तो आप उन महत्वपूर्ण अनुभागों को भी देखेंगे जहां वे लॉक हैं। यह जानकारी आपको समाधान की दिशा में मार्गदर्शन करने में मदद कर सकती है।
जैसा कि मैंने पहले उल्लेख किया है, पॉज़ प्रोग्राम डिबगर की कुछ उन्नत कार्यक्षमता तक आपकी पहुंच को सीमित करता है। यदि आपने किसी एप्लिकेशन के रुकने के दौरान कुछ सुविधाओं का उपयोग करने का प्रयास किया है, तो आपको एक त्रुटि संदेश दिखाई दे सकता है जो कहता है कि कार्रवाई रोकने के बाद तरीकों का मूल्यांकन नहीं किया जा सकता है।
हालाँकि, इस प्रतिबंध का एक शॉर्टकट है।
किसी एप्लिकेशन को रोकने के बाद, कोई भी कार्रवाई चरण दर चरण निष्पादित करना जारी रखें। Step Into या Step Over करेंगे। एक बार यह पूरा हो जाने पर, आप एक नियमित डिबगिंग सत्र में होंगे, ठीक उसी तरह जब आप ब्रेकपॉइंट का उपयोग करके किसी एप्लिकेशन को निलंबित करते हैं। सभी उन्नत सुविधाएं अब अनलॉक हो गई हैं!
आज के लिए इतना ही! मुझे आशा है कि आपको ये युक्तियाँ और युक्तियाँ उपयोगी लगेंगी।
यदि आप डिबगिंग और प्रोफाइलिंग से संबंधित अधिक लेखों में रुचि रखते हैं, तो मेरे कुछ अन्य लेख देखें:
यदि जावा में डिबगिंग के बारे में कुछ विशेष है जिसे आप चाहते हैं कि मैं कवर करूं, तो संपर्क करने में संकोच न करें! आपकी राय उस सामग्री को प्राथमिकता देने और प्रकाशित करने में मदद करेगी जो आपके लिए सबसे दिलचस्प है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3