मेरे पास एक साधारण सी ++ प्रोग्राम है जिसे मैं डीबग करने का प्रयास कर रहा हूं, लेकिन जीडीबी पुस्तकालयों के लिए ऑब्जेक्ट फ़ाइल नहीं ढूंढ सकता (या कोई डीबग जानकारी उपलब्ध नहीं है), और यह मेरे निष्पादन योग्य के लिए डीबग प्रतीकों को खोजने में सक्षम नहीं लगता है।मैकपॉर्ट्स जीसीसी 4.5 में सी ++ 0x प्रोग्राम कैसे डिबग करूं?
मैं macports साथ, पर OSX 10.5.8 हूँ, और मैं साथ
जी ++ मेरी कोड संकलन - mp-4.5 -Wall -pedantic -std = C++ 0x जी -ggdb मैं/चुनते/स्थानीय/शामिल एल/opt/स्थानीय/lib -lgsl स्थैतिक-libstdC++ एमसीएमसी-simplex.cpp -ओ एमसीएमसी
(वहाँ केवल एक फ़ाइल है, और जी ++ - mp-4.5 macports है जीसीसी/जी ++ 4.5 के लिए निष्पादन योग्य)
जब मैं परिणामस्वरूप निष्पादन योग्य पर gdb चलाने का प्रयास करता हूं, तो मुझे कई त्रुटि संदेश मिलते हैं प्रपत्र
चेतावनी के स्टार्टअप): वस्तु फ़ाइल "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc45/work/build/i386-apple-darwin9/libgcc/trunctfdf2_s नहीं मिल सका। ओ "- कोई डीबग जानकारी" ../../../gcc-4.5.0/libgcc/../gcc/config/soft-fp/trunctfdf2.c "के लिए उपलब्ध नहीं है।
जो मुझे इंगित करता है कि मैकपोर्ट के निर्माण के दौरान एक बग है (ऐसा लगता है जैसे जीडीबी अस्थायी निर्माण निर्देशिका में ऑब्जेक्ट फ़ाइलों की तलाश में है)।
मैं जोड़ने चाहिए कि जब मैं अपने कार्यक्रमों (एप्पल द्वारा प्रदान की एक) gdb में लिस्टिंग देखने की कोशिश, यह /var/tmp
में एक यादृच्छिक .s
फ़ाइल देखने के लिए जो मेरे लिए एक कोडांतरक फ़ाइल की तरह लगता है की कोशिश करता है। यही कारण है कि मैं कहता हूं कि यह मेरे प्रोग्राम के लिए डीबग प्रतीकों को खोजने में सक्षम नहीं लगता है।
जब मैं MacPorts GDB 7.1 की कोशिश, मैं
चेतावनी: `/var/folders/Xa/XaqHO9PeEC8K-Nrd0L9xWk+++TM/-Tmp-//cc2IvFto.o ': नहीं कर सकते प्रतीकों को पढ़ने के लिए खुला: ऐसी कोई फ़ाइल या निर्देशिका नहीं। (कोई डिबगिंग प्रतीक नहीं मिला) ... किया गया।
और ऐप्पल के जीडीबी द्वारा दिए गए कई त्रुटि संदेशों में से कोई भी नहीं (हालांकि अंतिम परिणाम समान है)।
क्या कोई इस समस्या को पूरा कर चुका है, और समाधान के साथ आया है?
बहुत बुरा मैं कई प्रश्नों को "सर्वश्रेष्ठ" के रूप में नहीं बना सकता। हालांकि जानकारी के लिए धन्यवाद! –
धन्यवाद! यह एक फोर्टन कार्यक्रम डीबग करने के लिए जीडीबी का उपयोग करने की कोशिश करते समय मदद मिली। Gfortran 4.4 के लिए, ऐसा लगता है कि यह ध्वज के '[= dir]' भाग को नहीं पहचानता है, इसलिए आपको केवल '-वेव-टेम्पस' का उपयोग करना होगा। –