2011-10-06 18 views
5

जीडीबी के लिए ट्यूटोरियल डीबग प्रतीकों के साथ प्रोग्राम संकलित करने के लिए 'gcc -g' के साथ संकलन का सुझाव देते हैं।'मेक' के साथ संकलित प्रोग्राम को डीबग कैसे करें?

हालांकि, मैं बनाने के साथ संकलित एक प्रोग्राम डीबग करना चाहता हूं। मैं डीबगिंग प्रतीकों के साथ संकलन करने के लिए कैसे निर्देश दे सकता हूं?

धन्यवाद।

उत्तर

7

अपने संकलन विकल्पों को बदलने के लिए आपको उस निर्देशिका में 'मेकफ़ाइल' फ़ाइल को संपादित करने की आवश्यकता है, जिससे आप 'मेक' चलाते हैं। निम्नलिखित बातों में से एक के लिए है कि फाइल नज़र अंदर:

  1. चर जो आप संकलक, शायद कुछ की तरह परिभाषित करता है:

    सीसी = 'जीसीसी'

  2. वास्तविक रेखा है जहाँ आपके संकलक हो जाता है कहा जाता है (हाथ से बने मेकफ़ाइल में अधिक संभावना है)।

  3. चर CFLAGS या कहा जाता CXXFLAGS

पहले दो मामलों में, बस 'जीसीसी' के बाद '-ggdb' जोड़ने के लिए, तीसरे मामले में यह और भी आसान सिर्फ '-ggdb' की तरह जोड़ते हैं:

CFLAGS='-ggdb' 
3

मेकफ़ाइल जिन्हें मुझे सौदा करना है (दूसरों द्वारा निर्मित) अक्सर संकलक को विकल्पों को बदलने में आसान नहीं बनाते हैं। कमांड लाइन पर बस CFLAGS सेट करना आसान है लेकिन क्लॉबर्स कई अन्य महत्वपूर्ण संकलन विकल्प हैं। हालांकि, अगर आप अक्सर make कमांड लाइन पर संकलक मैक्रो अधिभावी द्वारा मुद्दों से निपटने कर सकते हैं:

make CC="gcc -g" ...other arguments... 

आप सब कुछ आप डिबगिंग में रुचि डिबग ध्वज के साथ संकलित किया गया है कर रहे हैं सुनिश्चित करने के लिए की जरूरत है। मलबे को साफ़ करने के लिए आप make cleanup या make clean का उपयोग कर सकते हैं, या आप सरल उपायों (rm *.o *.a *.so या उसके समतुल्य) का सहारा ले सकते हैं। या, यदि आपके पास जीएनयू मेक है, तो सब कुछ पुनर्निर्माण करने के लिए मजबूर करने के लिए -B या --always-make का उपयोग करें।

यदि आपके पास बहु-निर्देशिका बनाता है, तो आपको इसे सभी प्रासंगिक निर्देशिकाओं में करने की आवश्यकता है।

संबंधित मुद्दे