2011-01-14 12 views
11

किसी को भी अनुभव जीसीसी संकलक के साथ (डिबगिंग प्रतीकों) और -O2 (सबसे अच्छा सुरक्षित अनुकूलन) जी मिश्रण है का उपयोग करते हुए?
मैं अंतिम उपयोगकर्ताओं है कि मुझे वापस मूल फ़ाइल भेज सकता है के लिए वितरित एक रिलीज कार्यक्रम के डिबग दुर्घटनाओं के लिए है।
मैं हमेशा कॉल करने के लिए उपयोग किया है:जी और जीसीसी में -O2 विकल्पों

gdb < < MyProgram >> < < कोर फ़ाइल >>

और देखें मुसीबत है। अब मैं केवल कॉल-ट्रेस देख सकता हूं लेकिन कोई डिबगिंग प्रतीक नहीं है, मैं काफी परेशानी में हूं।

कोई विचार?

उत्तर

6

हम उत्पादन वातावरण है, जो एक बहुत आसान डिबगिंग बनाता है, तो ग्राहक केवल एक बार एक दुर्घटना को देखा है में एक साथ दोनों का उपयोग करें। यह आपको एक बहुत अच्छा विचार देता है जहां समस्या है (अगर यह स्मृति भ्रष्टाचार नहीं था)।

सिद्धांत रूप में जी जोड़ने वास्तव में, प्रदर्शन प्रभावित नहीं होना चाहिए, हालांकि निष्पादन बड़े हो जाता है। एम्बेडेड वातावरण में यह एक बड़ा व्यापार-बंद है।

+5

प्रतीक के साथ छवि केवल डीबगर द्वारा आवश्यक है। यदि आप रिमोट डीबगर का उपयोग कर रहे हैं या कोर फ़ाइल से पोस्ट-मॉर्टम डिबगिंग कर रहे हैं, तो लक्ष्य पर चल रही छवि में प्रतीकों को छीन लिया जा सकता है। –

10

यह ठीक काम करता है।

या तो, अनुकूलन के कारण कभी-कभी स्रोत जो आप डीबगर के साथ आगे बढ़ रहे हैं, स्रोत के साथ बिल्कुल मेल नहीं खाता है, लेकिन आईएमएचओ इसके बावजूद डीबग प्रतीक डीबगिंग को अधिक आसान बनाता है।

+4

इसके अलावा, कभी कभी स्रोत लाइनों आदेश जो मुझे पहली बार में उलझन से बाहर क्रियान्वित कर रहे हैं। – mkb

+0

मुझे इस व्यवहार के लिए डीबी रिलीज कोड डीबगिंग का उपयोग किया जाता है। अगर मैं घोषणा करता हूं कि कोड को अनुकूलित किया गया है, तो भी मैं भटक रहा था -g ... –

+4

'-g' का कोड पर कोई प्रभाव नहीं पड़ता है, केवल अतिरिक्त डिबगिंग डेटा उत्पन्न होता है। –

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