मैक में सी ++ को संकलित क्यों करना हमेशा * .dSYM निर्देशिकाएं बनाते हैं? क्या इसे अक्षम करने का कोई तरीका है?डीएसवाईएम निर्देशिकाएं मैकोज़ में सी ++ कोड संकलित करते समय
उत्तर
ऐसा इसलिए है क्योंकि आपकी एक्सकोड परियोजना बाहरी डीएसवाईएम फ़ाइल के साथ डीबग प्रतीकों को बनाने के लिए स्थापित की गई है। यह रिलीज बिल्ड के लिए वास्तव में बहुत आसान है, क्योंकि इसका मतलब है कि आप अपने ऐप से डिबग प्रतीकों को पट्टी कर सकते हैं, और जब कोई उपयोगकर्ता आपके लिए क्रैशडंप भेजता है, तो आप डिबगिंग के लिए उचित स्टैकट्रैक उत्पन्न करने के लिए मूल डीएसवाईएम फ़ाइल का उपयोग कर सकते हैं।
वैसे भी, आप को अपनी परियोजना में डीबग प्रतीक पीढ़ी को अक्षम करने की आवश्यकता नहीं है। इसके बजाए, डीबग प्रतीक प्रकार को डीडब्ल्यूएआरएफ में बदलें ("डीडब्ल्यूएआरएफ डीएसवाईएम फाइल के साथ")। आप Stabs का भी उपयोग कर सकते हैं, लेकिन यह पुराना प्रारूप है।
संपादित करें: आह, मुझे लगता है कि आप कमांड लाइन से हैं, न कि एक्सकोड से। मैं अपने मैक एटीएम के सामने बैठा नहीं हूं, लेकिन मैं gcc4 manpage से देख सकता हूं कि आप निर्दिष्ट कर सकते हैं -स्टैब्स प्रारूप का उपयोग करने के लिए।
मुझे लगता है कि आपका उपयोग एक्सकोड है। "प्रोजेक्ट"/"प्रोजेक्ट सेटिंग्स संपादित करें" मेनू आइटम पर जाएं, "जीसीसी 4.0 - कोड जनरेशन" अनुभाग के तहत बिल्ड टैब पर क्लिक करें, डीबग सिंबल जेनरेट करें। आप इसे खोजने में सहायता के लिए खोज क्षेत्र में "sym" टाइप कर सकते हैं।
- 1. कोड संकलित करते समय केवल
- 2. कुछ सरल सी ++ कोड संकलित करते समय त्रुटि
- 3. pthreads में openmp संकलित करें सी कोड
- 4. एम्बेडेड स्पाइडरमोन्की प्रोग्राम संकलित करते समय त्रुटि
- 5. मैकोज़
- 6. नामित पैरामीटर का उपयोग करते समय यह सी # कोड संकलित क्यों नहीं होता है?
- 7. एएसपी.NET वेबसाइट संकलित करते समय MSBuild त्रुटि
- 8. मैकोज़
- 9. मैं संकलित सी कोड के साथ सी ++ कोड संकलित और लिंक कैसे करूं?
- 10. सी ++ करते समय त्रुटियों
- 11. उप-निर्देशिकाएं और Makefiles
- 12. संकलित समय पेड़ संरचना
- 13. एक्सकोड - फ्रेमवर्क डीएसवाईएम
- 14. MSBuild VC++ निर्देशिकाएं कैसे सेट करें
- 15. 32 केबी संकलित कोड
- 16. समय उद्देश्य-सी कोड
- 17. रनटाइम पर सी # कोड एक्सटेंशन संकलित करें
- 18. यह सी कोड संकलित क्यों करता है?
- 19. प्रबंधित कोड डीबग करते समय अप्रबंधित कोड डिबगिंग
- 20. clang -std = gnu ++ 11 का उपयोग करते समय यह C++ कोड संकलित क्यों करता है?
- 21. क्लैंग/मैकोज़ एक्स
- 22. मैकोज़ और ओपनसीवी
- 23. Emacs से लेटेक्स संकलित करते समय टेक्स-खोल को रोकना
- 24. जीसीसी संकलित x86_64 कोड और सी कोड अनुकूलन
- 25. सी ++ में भारी टेम्पलेट कोड कैसे डिबग करते हैं?
- 26. बड़े समाधान में सी # परियोजनाओं को संकलित करते समय मल्टीकोर सीपीयू का लाभ कैसे लें?
- 27. .NET 4 में .NET कोड संकलित करना?
- 28. सी में वीआई कैसे संकलित करें और इसे चलाएं?
- 29. कैसे सी # में असुरक्षित कोड को संकलित करने के
- 30. क्या सी # कोड देशी बाइनरी में संकलित है?
हाय, आप डीबग प्रतीक कैसे बदलते हैं? क्या इसके लिए एक कमांड लाइन है? – neversaint
दिलचस्प क्विर्क: मैकोज़ 10.6.2 पर, यदि आप 'लिंक' लाइन में एक स्रोत फ़ाइल शामिल करते हैं, तो dsymutil प्रोग्राम .dSYM जानकारी उत्पन्न करने के लिए चलाया जाता है; यदि आप केवल ऑब्जेक्ट फाइलों और पुस्तकालयों को लिंक करते हैं, तो dsymutil प्रोग्राम नहीं चलाया जाता है, इसलिए .dSYM जानकारी उत्पन्न नहीं होती है। आप इसे '-v' विकल्प के साथ जीसीसी में मान्य कर सकते हैं जो 'gcc' द्वारा निष्पादित कार्यक्रम दिखाता है। –
आप -gdb का भी उपयोग कर सकते हैं, जो मुझे लगता है कि अगर आप gdb के साथ डीबग करने की योजना बनाते हैं तो मुझे लगता है कि स्टैब की तुलना में अधिक सुविधाएं सक्षम करती हैं। – Quantum7