डिबगिंग क्या है: एंबेडेड सिस्टम में टाइप और तकनीक

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





उनके जीवन में हर प्रोग्रामर को एक कोड विकसित करते समय अपने कोड में बग या त्रुटियों का अनुभव करने का मौका मिलता है ऑपरेटिंग सिस्टम या आवेदन या किसी अन्य कार्यक्रम। ऐसे मामलों में, डेवलपर कोड में बग ढूंढने और कोड या प्रोग्राम को त्रुटि-मुक्त बनाने के लिए डीबगिंग और टूल का उपयोग करते हैं। पूरे कार्यक्रम में बग की पहचान करने और उसे खोजने का मौका है। सॉफ्टवेयर तकनीक में, किसी भी नए प्रोग्राम या किसी एप्लिकेशन प्रक्रिया में बग ढूंढने के लिए यह एक महत्वपूर्ण प्रक्रिया है। घातक और तार्किक त्रुटियों जैसी त्रुटियां वांछित आउटपुट प्राप्त करने के लिए पाई और दूर की जा सकती हैं। उदाहरण के लिए, जीडीबी, विज़ुअल स्टूडियो और एलएलडीबी विभिन्न ऑपरेटिंग सिस्टम के लिए मानक डिबगर हैं।

डीबगिंग क्या है?

परिभाषा: की संख्या को खोजने और निकालने के लिए महत्वपूर्ण तकनीक त्रुटियों या प्रोग्राम में बग्स या दोषों को डीबगिंग कहा जाता है। यह सॉफ्टवेयर विकास में एक मल्टीस्टेप प्रक्रिया है। इसमें बग की पहचान करना, बग के स्रोत का पता लगाना और प्रोग्राम को त्रुटि मुक्त बनाने के लिए समस्या को ठीक करना शामिल है। सॉफ्टवेयर डेवलपमेंट में, डेवलपर प्रोग्राम में कोड त्रुटि का पता लगा सकता है और इस प्रक्रिया का उपयोग करके इसे हटा सकता है। इसलिए, यह संपूर्ण सॉफ्टवेयर विकास जीवनचक्र में एक महत्वपूर्ण भूमिका निभाता है।




डिबगिंग

डिबगिंग

डिबगिंग के प्रकार

कोड त्रुटि के प्रकार के आधार पर, विभिन्न प्रकार के टूलसेट प्लग इन हैं। यह समझना आवश्यक है कि क्या हो रहा है और डिबगिंग के लिए किस प्रकार के टूल का उपयोग किया जाता है। टूलसेट प्लगइन के किसी भी सामान्य मुद्दे को हल करने के लिए दो प्रकार के डिबगिंग हैं और तकनीकी जानकारी प्रदान करते हैं।



  • PHP में, PHP कोड को डिबगर क्लाइंट को इन उपकरणों में से किसी एक का उपयोग करके संलग्न करने के लिए डीबग किया जा सकता है। Xdebug और Zendbugger जैसी डिबग यूटिलिटीज का उपयोग PHPstorm के साथ काम करने के लिए किया जाता है। Kint का उपयोग PHP डीबगिंग के लिए डिबगिंग टूल के रूप में किया जाता है।

उदाहरण के लिए, वर्डप्रेस में PHP डीबगिंग को सक्षम करने के लिए, फ़ाइल wp-config.php को संपादित करें और आवश्यक कोड जोड़ें। एक एरर फाइल (error_log.txt) शब्द रूट डिक्शनरी में बनाया गया है जिसे गंभीर वेब का उपयोग करके बनाया जा सकता है और लिखने योग्य है। एल्स बनाने और लिखने के लिए एफ़टीपी प्रोग्राम का उपयोग करते हैं। इसलिए फ्रंट-एंड और बैक-एंड में होने वाली सभी त्रुटियों को उस त्रुटि फ़ाइल में लॉग इन किया जा सकता है।

  • जावास्क्रिप्ट डिबगिंग ब्राउज़र के डीबगर टूल और जावास्क्रिप्ट कंसोल का उपयोग करता है। किसी भी जावास्क्रिप्ट त्रुटि हो सकती है और वर्डप्रेस में संचालन के निष्पादन और कामकाज को रोक देता है। जब जावास्क्रिप्ट कंसोल खुला होता है, तो सभी एरर मैसेज क्लियर हो जाएंगे। हालाँकि, कुछ कंसोल चेतावनियाँ एक त्रुटि संदेश बना सकती हैं जिसे ठीक किया जाना चाहिए।

विभिन्न प्रकार के होते हैं विभिन्न ऑपरेटिंग सिस्टम के लिए डिबगिंग। वे,

  • लिनक्स और यूनिक्स ऑपरेटिंग सिस्टम के लिए, GDB एक मानक डीबगर के रूप में उपयोग किया जाता है।
  • विंडोज ओएस के लिए, दृश्य स्टूडियो एक शक्तिशाली संपादक और डीबगर है।
  • मैक ओएस के लिए, एलएलडीबी एक उच्च-स्तरीय डिबगर है।
  • इंटेल समानांतर इंस्पेक्टर का उपयोग C / C ++ ऑपरेशन में मेमोरी त्रुटियों के लिए डीबगिंग के स्रोत के रूप में किया जाता है।

डिबगिंग प्रक्रिया

बग या त्रुटियों को खोजने और किसी भी एप्लिकेशन या सॉफ़्टवेयर में उन्हें ठीक करने की प्रक्रिया को डीबगिंग कहा जाता है। सॉफ़्टवेयर प्रोग्राम या उत्पादों को बग-मुक्त बनाने के लिए, इस प्रक्रिया को बाज़ार में जारी करने से पहले किया जाना चाहिए। इस प्रक्रिया में शामिल कदम हैं,


  • त्रुटि की पहचान करना - यह समय बचाता है और उपयोगकर्ता साइट पर त्रुटियों से बचा जाता है। पहले चरण में त्रुटियों की पहचान करने से त्रुटियों की संख्या और समय की बर्बादी को कम करने में मदद मिलती है।
  • त्रुटि स्थान की पहचान करना - त्रुटि का सटीक स्थान बग को तेजी से ठीक करने और कोड को निष्पादित करने के लिए मिलना चाहिए।
  • त्रुटि का विश्लेषण - बग या त्रुटि के प्रकार को समझने और त्रुटियों की संख्या को कम करने के लिए हमें त्रुटि का विश्लेषण करने की आवश्यकता है। एक बग को हल करने से एक और बग हो सकता है जो आवेदन प्रक्रिया को रोकता है।
  • विश्लेषण साबित करो - एक बार त्रुटि का विश्लेषण करने के बाद, हमें विश्लेषण को साबित करने की आवश्यकता है। यह परीक्षण के मामलों को परीक्षण ढांचे के माध्यम से लिखने के लिए एक परीक्षण स्वचालन प्रक्रिया का उपयोग करता है।
  • पार्श्व क्षति को कवर करें - अन्य त्रुटियों को ठीक करने के लिए कोड या कार्यक्रमों के अगले चरणों में उचित परिवर्तन करके और बग को हल करके कीड़े को हल किया जा सकता है।
  • ठीक करें और मान्य करें - सभी नई त्रुटियों, सॉफ्टवेयर या प्रोग्राम में परिवर्तन और एप्लिकेशन को निष्पादित करने के लिए यह अंतिम चरण है।

डिबगिंग सॉफ्टवेयर

यह सॉफ्टवेयर सॉफ्टवेयर विकास प्रक्रिया में एक महत्वपूर्ण भूमिका निभाता है। सॉफ़्टवेयर डेवलपर इसका उपयोग बग्स को खोजने, बग का विश्लेषण करने और सॉफ़्टवेयर की गुणवत्ता और प्रदर्शन को बढ़ाने के लिए करते हैं। मैन्युअल डिबगिंग का उपयोग करके कीड़े को हल करने की प्रक्रिया बहुत कठिन और समय लेने वाली है। हमें ब्रेकपॉइंट बनाकर कार्यक्रम, इसके काम करने और त्रुटियों के कारणों को समझने की आवश्यकता है।

जैसे ही कोड लिखा जाता है, कोड को नए सॉफ्टवेयर उत्पाद बनाने के लिए प्रोग्रामिंग के अन्य चरणों के साथ जोड़ दिया जाता है। यूनिट टेस्ट, कोड रिव्यू और पेयर प्रोग्रामिंग जैसी कई रणनीतियों का उपयोग बड़े प्रोग्राम को डिबग करने के लिए किया जाता है (जिसमें कोड की हजारों लाइनें होती हैं)। मानक डिबगर टूल या इंटीग्रल डेवलपमेंट एन्वायरमेंट (IDE) का डिबग मोड कोड के लॉगिंग और त्रुटि संदेशों को निर्धारित करने में मदद करता है।

डीबगिंग सॉफ़्टवेयर में शामिल चरण हैं,

  • बग को सिस्टम में पहचाना जाता है और दोष रिपोर्ट बनाई जाती है। यह रिपोर्ट डेवलपर को त्रुटि का विश्लेषण करने और समाधान खोजने में मदद करती है।
  • डीबगिंग टूल का उपयोग बग के कारण को जानने और चरण-दर-चरण निष्पादन प्रक्रिया द्वारा इसका विश्लेषण करने के लिए किया जाता है।
  • बग की पहचान करने के बाद, हमें मुद्दों को ठीक करने के लिए उचित परिवर्तन करने की आवश्यकता है।
  • सॉफ़्टवेयर को यह सुनिश्चित करने के लिए सेवानिवृत्त किया जाता है कि कोई त्रुटि नहीं बची है और डीबगिंग सॉफ़्टवेयर प्रक्रिया के दौरान सॉफ़्टवेयर की सभी नई त्रुटियों की जाँच करता है।
  • इस सॉफ़्टवेयर प्रक्रिया में प्रयुक्त अनुक्रम-आधारित पद्धति ने डेवलपर के लिए बग ढूंढना और कोड अनुक्रमों का उपयोग करके उन्हें ठीक करना अधिक आसान और सुविधाजनक बना दिया।

डिबगिंग तकनीक

डिबगिंग प्रक्रिया को आसानी से और कुशलता से करने के लिए, कुछ तकनीकों का पालन करना आवश्यक है। सबसे अधिक इस्तेमाल होने वाली डिबगिंग रणनीति हैं,

  • ब्रूट बल द्वारा डिबगिंग
  • प्रेरण की रणनीति
  • कटौती की रणनीति
  • पीछे हटने की रणनीति और
  • परीक्षण द्वारा डिबगिंग।

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

प्रेरण रणनीति में प्रासंगिक डेटा का स्थान, डेटा का संगठन, डेविजिंग परिकल्पना (त्रुटियों के संभावित कारण प्रदान करता है), और प्रोविंग परिकल्पना शामिल है।

कटौती की रणनीति में बग या परिकल्पना के संभावित कारणों की पहचान शामिल है जानकारी का उपयोग कर संभावित कारणों का उन्मूलन परिकल्पना का शोधन (एक-एक करके विश्लेषण)

बैकट्रैकिंग रणनीति का उपयोग छोटे कार्यक्रमों में त्रुटियों का पता लगाने के लिए किया जाता है। जब कोई त्रुटि होती है, तो बग या त्रुटि का कारण खोजने के लिए मान के मूल्यांकन के दौरान कार्यक्रम को एक कदम पीछे का पता लगाया जाता है।

परीक्षण द्वारा डिबगिंग इंडक्शन द्वारा डिबगिंग और डिडक्शन तकनीक द्वारा डिबगिंग के साथ संयोजन है। डिबगिंग में उपयोग किए जाने वाले परीक्षण मामले परीक्षण प्रक्रिया में उपयोग किए जाने वाले परीक्षण मामलों से भिन्न होते हैं।

एंबेडेड सिस्टम में डिबगिंग तकनीक

ये तकनीकें त्रुटि गणना को कम करती हैं और कोड की गुणवत्ता और कार्यक्षमता को बढ़ाती हैं। एम्बेडेड सिस्टम का डीबगिंग भौतिक मेमोरी पते और वर्चुअल मेमोरी पर निर्भर करता है।

एक एम्बेडेड सिस्टम में 6 डिबगिंग तकनीक हैं।

  • जटिल डेटा को सरल बनाएं
  • विभाजन और जीत
  • प्रक्रिया को धीमा करें
  • एक समय में केवल एक ही चर बदलें
  • ऑफ-लाइन मॉडल बनाना
  • एक ज्ञात-अच्छे राज्य से शुरू करें।

अलग-अलग मामलों में विभिन्न डिबगिंग तकनीकों का उपयोग किया जाता है। एक या एक से अधिक दृष्टिकोणों का संयोजन त्रुटियों का कारण हो सकता है। इस प्रक्रिया में शामिल हैं

  • बग या समस्या को पुन: उत्पन्न करें
  • उपयोगकर्ता से इनपुट का उपयोग करके बग की व्याख्या करें
  • बग दिखाई देने पर प्रोग्राम के सभी चर मान और स्थिति प्राप्त करने का प्रयास करें
  • बग का विश्लेषण करें और बग का कारण खोजें
  • बग को ठीक करें और नए बग के सभी कारणों की जांच करें।

डिबगिंग उपकरण

एक सॉफ्टवेयर टूल या प्रोग्राम जिसका उपयोग अन्य प्रोग्रामों के परीक्षण और डीबग करने के लिए किया जाता है, को डीबगर या डीबगिंग टूल कहा जाता है। यह सॉफ्टवेयर विकास प्रक्रिया के विभिन्न चरणों में कोड की त्रुटियों की पहचान करने में मदद करता है। ये उपकरण परीक्षण रन का विश्लेषण करते हैं और उन कोड की पंक्तियों को ढूंढते हैं जिन्हें निष्पादित नहीं किया गया है। अन्य डिबगिंग टूल में सिमुलेटर उपयोगकर्ता को ऑपरेटिंग सिस्टम या किसी अन्य कंप्यूटिंग डिवाइस के प्रदर्शन और व्यवहार के बारे में जानने की अनुमति देते हैं। अधिकांश ओपन-सोर्स टूल और स्क्रिप्टिंग भाषाएँ एक IDE नहीं चलती हैं और उन्हें मैन्युअल प्रक्रिया की आवश्यकता होती है।

ज्यादातर इस्तेमाल किया जाता है डिबगिंग उपकरण GDB, DDD और ग्रहण हैं।

  • GDB टूल: इस प्रकार के टूल का उपयोग यूनिक्स प्रोग्रामिंग में किया जाता है। जीडीबी सभी लिनक्स सिस्टम में पहले से स्थापित है यदि नहीं, तो जीसीसी संकलक पैकेज डाउनलोड करना आवश्यक है।
  • DDD उपकरण: DDD का अर्थ है डेटा डिस्प्ले डीबगर, जिसका उपयोग यूनिक्स प्रणालियों में ग्राफिक यूजर इंटरफेस (GUI) को चलाने के लिए किया जाता है।
  • ग्रहण: एक आईडीई उपकरण एक संपादक, बिल्ड टूल, डीबगर और अन्य विकास टूल का एकीकरण है। आईडीई सबसे लोकप्रिय ग्रहण उपकरण है। DDD, GDB और अन्य टूल की तुलना में यह अधिक कुशलता से काम करता है।

डिबगिंग टूल की सूची नीचे सूचीबद्ध है।

  • AppPuncher Debugger का उपयोग रिच इंटरनेट एप्लिकेशन डीबग करने के लिए किया जाता है
  • AQIME डिबगर
  • CA / EZ TEST एक CICS इंटरेक्टिव टेस्ट / डिबग सॉफ्टवेयर पैकेज है
  • CharmDebug, चार्म ++ के लिए डिबगर है
  • कोड व्यू डिबगर
  • DBG एक PHP डीबगर और प्रोफाइलर है
  • डीबीएक्स डिबगर
  • वितरित डिबगिंग टूल (एलिना डीडीटी)
  • DDTLite - विजुअल स्टूडियो 2008 के लिए DDTLite संरेखित करें
  • DEBUG DOS और Microsoft Windows का अंतर्निहित डिबगर है
  • MySQL के लिए डिबगर
  • ओपेरा ड्रैगनफ़्लू
  • गतिशील डिबगिंग तकनीक (DDT)
  • एंबेडेड सिस्टम डिबग प्लग-इन का उपयोग ग्रहण के लिए किया जाता है
  • फ्यूजनडबग
  • डीबगर OpenGL, OpenGL ES और OpenCL डीबगर और प्रॉइलर। विंडोज, लिनक्स, मैक ओएस एक्स और आईफोन के लिए
  • GNU डिबगर (GDB), GNU Binutils
  • इंटेल डीबगर (IDB)
  • सिस्टम को सर्किट डीबगर के रूप में उपयोग किया जाता है अंतः स्थापित प्रणालियाँ
  • इंटरएक्टिव डिस्सेम्बलर (आईडीए प्रो)
  • जावा प्लेटफ़ॉर्म डीबगर आर्किटेक्चर स्रोत जावा डीबगर
  • एलएलडीबी
  • MacsBug
  • आईबीएम तर्कसंगत शुद्ध
  • TRACE32 एंबेडेड सिस्टम के लिए सर्किट डिबगर है
  • VB वॉच डीबगर - विज़ुअल बेसिक 6.0 के लिए डिबगर
  • Microsoft Visual Studio डीबगर
  • WinDbg
  • Xdebug - PHP डिबगर और प्रोफाइलर

इस प्रकार, यह सभी डिबगिंग प्रक्रिया, इसके उपकरण और एम्बेडेड सिस्टम सॉफ़्टवेयर डेवलपमेंट प्रक्रियाओं में तकनीकों के बारे में है। इसका उद्देश्य किसी भी कोड में बग्स को ढूंढना और निकालना है। यहां आपके लिए एक सवाल है, डिबगिंग के नुकसान क्या हैं?