मैं हाल ही में एक आईओएस ऐप के क्रैश लॉग का प्रतीक करने की कोशिश कर रहा हूं। किसी कारण से डीएसवाईएम के यूयूआईडी को स्पॉटलाइट में अनुक्रमित नहीं किया गया था। कुछ मैन्युअल खोज और कमांड लाइन incantations की एक स्वस्थ खुराक के बाद, मैं आंशिक रूप से क्रैश लॉग का प्रतीक करने में कामयाब रहे।क्या सी ++ कोड का प्रतीक होना संभव है?
पहले मैंने सोचा कि डीएसवाईएम अधूरा हो सकता है या ऐसा कुछ हो सकता है, लेकिन तब मुझे एहसास हुआ कि विधि गायब होने वाली विधि सी ++ कोड में होती है: यह प्रोजेक्ट एक उद्देश्य-सी ऐप है जो सी ++ पुस्तकालयों में कॉल करता है उद्देश्य-सी ++) जो उद्देश्य-सी कोड पर वापस कॉल करें (फिर से, उद्देश्य-सी ++ कोड के माध्यम से)। जिन कॉलों को मैं याद कर रहा हूं वे हैं, विशेष रूप से, जो सी ++ भूमि में होते हैं।
तो, मेरा सवाल यह है: क्या कोई तरीका है कि प्रतीकात्मक प्रक्रिया सी ++ कोड की फ़ंक्शन कॉल को हल कर सकती है? यदि कोई है, तो मुझे कौन से विशेष विकल्प सेट करने की ज़रूरत है?
क्या यह केवल पते छोड़ देता है या यह आपको _ZN7 जैसा कुछ देता है ...? – C0deH4cker
नहीं, यदि आप इसका उल्लेख करते हैं तो वे नामित फ़ंक्शंस नाम नहीं हैं। 14 MyApp \t 0x001001bc 0xfe000 + 8636 15 MyApp \t 0x00100174 0xfe000 + 8564 –
अगर आप 'अपने अनुप्रयोग lldb', आप अपने सी ++ नाम से किसी भी विधि का एकत्रित न कर सकते हैं: यह एक आधार का पता और एक ऑफसेट है? क्या आपके पास स्थिर लाइब्रेरी बाइनरी है या क्या आप अपनी परियोजना में सबकुछ संकलित कर रहे हैं? – nielsbot