परिचय

GCC कोडिंग करते समय विभिन्न सोर्स कोड को संकलित करने में उपयोगी है। GCC के साथ काम करते समय आप विभिन्न फ्लैग का उपयोग कर सकते हैं जैसे -g फ्लैग। एक दिए गए फ्लैग के साथ संकलन कमांड निष्पादित करना आपके कोड से अपेक्षित आउटपुट को निर्दिष्ट करने के लिए आदर्श है। यह पोस्ट GCC -g फ्लैग पर केंद्रित है। हम समझेंगे कि GCC -g फ्लैग क्या है, इसके लाभ, और यथार्थवादी उदाहरणों का उपयोग करके GCC -g फ्लैग का प्रदर्शन। पढ़ें!
GCC -g फ्लैग क्या है
कोड संकलन में आपके प्रोग्राम के भीतर होने वाली त्रुटियों को डीबग करना भी शामिल है। आपके पास एक मामला हो सकता है जहां आप अपने कोड के बारे में डीबगिंग जानकारी प्राप्त करना चाहते हैं। उस स्थिति में, आपको GCC -g फ्लैग के साथ काम करना होगा।
यह विकल्प आपके कोड को संकलित करते समय अतिरिक्त डीबगिंग जानकारी उत्पन्न करने में आपकी मदद करेगा, जैसे कि आपके लिए कोड को डीबग करना आसान हो जाएगा। एक डेवलपर के रूप में, -g फ्लैग आपके कोड को समझने और आसानी से डीबग करने में आपकी मदद करने में उपयोगी है। यह निम्न सिंटैक्स के साथ काम करता है:
gcc -g -o output-file input-program
आउटपुट फ़ाइल संकलित प्रोग्राम का नाम है, जबकि इनपुट प्रोग्राम वह लक्ष्य कोड है जिसे आप संकलित करना चाहते हैं।
डेवलपर्स यह सुनिश्चित करने के लिए बहुत सारा कोड डीबग करते हैं कि यह अपेक्षा के अनुरूप चलता है। डीबगिंग समस्याओं की पहचान और उन्हें ठीक करने में महत्वपूर्ण है। GCC -g फ्लैग डेवलपर्स को उनके प्रोग्राम के साथ सुचारू रूप से काम करने की अनुमति देने में कई लाभ प्रदान करता है।
निम्नलिखित इसके द्वारा प्रदान किए जाने वाले विभिन्न लाभ हैं:
1. स्टैक ट्रेस उत्पन्न करना
स्टैक ट्रेस प्रोग्राम के निष्पादन के दौरान होने वाले सक्रिय स्टैक फ्रेम की एक रिपोर्ट को संदर्भित करता है। जब आपका प्रोग्राम क्रैश होता है, तो आपको अपने प्रोग्राम में विभिन्न बिंदुओं के स्टैक ट्रेस मिलेंगे जहां कोड टूटता है ताकि यह पहचाना जा सके कि त्रुटि कहां हुई और इसे कैसे ठीक किया जाए। स्टैक ट्रेस उस क्रम को भी हाइलाइट करता है जिसमें त्रुटि होने पर प्रोग्राम की स्थिति थी। इस प्रकार, आप त्रुटि से पहले घटनाओं के क्रम को आसानी से पहचान सकते हैं और इसे कैसे ठीक करें।
2. वेरिएबल निरीक्षण
-g फ्लैग के साथ आने वाली डीबगिंग जानकारी रनटाइम पर आपके प्रोग्राम में आपके वेरिएबल के मूल्यों का निरीक्षण करने में मदद करती है। आप जांच सकते हैं कि रनटाइम के दौरान वेरिएबल किस स्थिति में हैं। इसलिए, आप त्रुटि से पहले विभिन्न बिंदुओं पर प्रोग्राम के व्यवहार को आसानी से समझ सकते हैं।
3. प्रतीकात्मक जानकारी
जब आप -g फ्लैग जोड़ते हैं, तो आपको प्रतीकात्मक जानकारी मिलेगी जो सोर्स कोड को संकलित बाइनरी से जोड़ती है। प्रतीकात्मक जानकारी में लाइन नंबर और वेरिएबल नाम जैसी चीजें शामिल हैं। इस तरह, आप प्रोग्राम के निष्पादन को उसके मूल कोड के साथ आसानी से मैप कर सकते हैं जो विश्लेषण और डीबग करना आसान बनाता है।
4. सशर्त ब्रेकपॉइंट
GDB जैसे डीबगगर के साथ काम करना -g फ्लैग के साथ उत्पन्न डीबगिंग जानकारी पर निर्भर करता है ताकि आपके सोर्स कोड में अस्थायी ब्रेकपॉइंट बनाए जा सकें। ये ब्रेकपॉइंट डेवलपर्स को प्रोग्राम में उन शर्तों या अनुभागों को परिभाषित करने में मदद करते हैं जब प्रोग्राम रुकना चाहिए। इस प्रकार, आप ब्रेकपॉइंट सेट करके कोड को आसानी से डीबग कर सकते हैं ताकि यह जांचा जा सके कि कौन सा अनुभाग आपके कोड में त्रुटि पैदा कर रहा है। ब्रेकपॉइंट का उपयोग करके प्रोग्राम का विश्लेषण करना संपूर्ण कोड की जांच करने से आसान है।
GCC -g फ्लैग के लाभों को जानकर, यह प्रदर्शित करने का समय आ गया है कि आप अपने डीबगिंग को सरल बनाने के लिए इसका उपयोग कैसे कर सकते हैं। यहां, हम "linuxhint.c" नामक एक C सोर्स फ़ाइल के साथ काम कर रहे हैं।
आइए निम्न कमांड का उपयोग करके GCC -g फ्लैग के साथ इसे संकलित करें:
gcc -g -o demo1 linuxhint.c

-g फ्लैग जोड़कर, आपको एक बाइनरी फ़ाइल मिलेगी जिसमें जानकारी होगी और जिसे आप अपने डीबगगर के साथ उपयोग कर सकते हैं। हमने अपनी उत्पन्न बाइनरी फ़ाइल का नाम "demo1" रखा। आइए आगे बढ़ें और GNU डीबगगर (GNU Debugger) के साथ इसका उपयोग करने के उदाहरण दें।
निम्न छवि में दिखाए अनुसार डीबगगर चलाएं:

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

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

डेनिस करियुकी
डेनिस नेटवर्किंग और साइबर सुरक्षा के जुनून के साथ एक कंप्यूटर वैज्ञानिक हैं। मुझे टर्मिनल पसंद है, और लिनक्स का उपयोग करना एक शौक है। मैं लिनक्स और कंप्यूटिंग के बारे में टिप्स और विचार साझा करने के लिए भावुक हूँ।