C:
डीबगर का उपयोग करना

कैसे:

GDB (जीएनयू डीबगर) C प्रोग्रामिंग के लिए सबसे आम रूप से प्रयोग किए जाने वाला डीबगर है। यहां GDB का उपयोग करके एक सरल C प्रोग्राम को डीबग करने के लिए एक संक्षिप्त मार्गदर्शिका है।

सबसे पहले, डीबगिंग जानकारी शामिल करने के लिए -g फ्लैग के साथ अपने C प्रोग्राम को कंपाइल करें:

gcc -g program.c -o program

अगला, अपने संकलित कार्यक्रम के साथ GDB को प्रारंभ करें:

gdb ./program

आप अब GDB के संचालन को नियंत्रित करने के लिए विभिन्न आदेशों का उपयोग कर सकते हैं। यहाँ कुछ मौलिक आदेश हैं:

  • break: निष्पादन को रोकने के लिए एक निश्चित पंक्ति या फंक्शन पर एक ब्रेकपॉइंट सेट करें।
    • उदाहरण: break 10 या break main
  • run: GDB के भीतर अपने कार्यक्रम का कार्यान्वयन शुरू करें।
  • next: फ़ंक्शन्स में कदम रखे बिना अगली लाइन कोड को निष्पादित करें।
  • step: फ़ंक्शन्स में कदम रखते हुए अगली लाइन कोड को निष्पादित करें।
  • print: एक वेरिएबल का मूल्य प्रदर्शित करें।
  • continue: अगले ब्रेकपॉइंट तक निष्पादन जारी रखें।
  • quit: GDB से बाहर निकलें।

एक सरल कार्यक्रम डीबग करने का एक उदाहरण सत्र यहाँ दिया गया है:

#include <stdio.h>

int main() {
    int i;
    for (i = 0; i < 5; i++) {
        printf("%d\n", i);
    }
    return 0;
}

break 5 के साथ एक ब्रेकपॉइंट सेट करें और फिर run करें। लूप के माध्यम से कदम रखने के लिए next का उपयोग करें और लूप वेरिएबल का निरीक्षण करने के लिए print i का उपयोग करें।

पहले इटरेशन से पहले एक ब्रेकपॉइंट सेट करने के बाद का नमूना आउटपुट:

Breakpoint 1, main () at program.c:5
5         printf("%d\n", i);

कुछ इटरेशन के बाद print i का उपयोग करना:

$3 = 2

यह एक सरल कार्यक्रम की स्थिति और प्रवाह की जांच करने का प्रदर्शन करता है।

गहराई में

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

जबकि GDB शक्तिशाली और व्यापक रूप से प्रयोग में है, यह शुरुआती लोगों के लिए घने और चुनौतीपूर्ण हो सकता है। नौसिखुए लोगों के लिए C कोड डीबग करने के लिए अधिक उपयोगकर्ता-अनुकूल इंटरफेस प्रदान करते हुए, Visual Studio Code, CLion, या Eclipse जैसे विकल्प डीबगिंग उपकरण और IDE (इंटिग्रेटेड डेवलप्मेंट एनवायरनमेंट्स) हैं, जो अक्सर दृश्य सहायता और अधिक सहज नियंत्रण एकीकृत करते हैं। ये विकल्प GDB की पूरी गहराई की कार्यक्षमता प्रदान नहीं कर सकते हैं लेकिन C प्रोग्रामिंग के नौसिखियों के लिए अधिक सुलभ हो सकते हैं।

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