2013-07-05 11 views
8

मैं एक्सकोड 4.6 का उपयोग कर टेस्टर्स और उपयोगकर्ताओं से ओएस एक्स (आईओएस नहीं) क्रैश लॉग का प्रतीक नहीं कर सकता। क्रैश लॉग को आयोजक में नहीं खींचा जा सकता है, और आयोजक ~/लाइब्रेरी/लॉग/डायग्नोस्टिक रीपॉर्ट्स/से कोई क्रैश लॉग नहीं दिखाता है, हालांकि कुछ लॉग उस निर्देशिका में हैं।ओएस एक्स क्रैश लॉग सिंबलेशन

डिडियर मालेनफांट पिछले एक धागा पर टिप्पणी की XCode not importing OS X crash log कि

लब्बोलुआब यह काफी सरल है। अभी तक (एक्सकोड 4.6), ओएस एक्स क्रैश लॉग को एक्सकोड में आयात नहीं किया जा सकता है। केवल आईओएस वाले।

क्या यह वर्तमान स्थिति है? यह कल्पना करना मुश्किल है कि संगठन क्रैश रिपोर्टों को घुसपैठ करने के प्रभावी तरीकों के बिना नए ओएस एक्स सॉफ्टवेयर का समर्थन करने में सक्षम हैं।

+0

देखना http://stackoverflow.com/questions/6085734/how-do-i-symbolicate-a-crash-report-of-a-mac-os-x-app-that-a-user-emailed-to-me –

+0

धन्यवाद। लेकिन आपके द्वारा उद्धृत उत्तर एक वर्ष से अधिक पुराना उत्तर है जो मैंने उपरोक्त उद्धृत किया है, जो इसके विपरीत है। क्या आप नियमित रूप से उपयोगकर्ता द्वारा सबमिट किए गए लॉग इन xcode 4.6 का प्रतीक हैं। –

उत्तर

3

आप Symbolication के लिए GDB का उपयोग कर सकते खुला टर्मिनल

$ cd directory 
$ gdb MyApp.app 
(gdb) info line *0x00085f3c 

एक ही निर्देशिका में अपने रिहाई का निर्माण और अपने .dSYM फ़ाइल रखो या के रूप में trojanfoe

$cd directory 
$atos -o MyApp.app/Contents/MacOS/MyApp 
info 0x00085f3c 

ने सुझाव दिया कि आप atos उपयोग कर सकते हैं या

$ cd directory 
$ lldb MyApp.app 
(lldb) image lookup -v --address 0x1ec4 
+1

या 'atos': https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/atos.1.html – trojanfoe

+0

@trojanfoe अपडेट किया गया। –

+2

या 'lldb' :) 'image lookup -v --address 0x1ec4' – trojanfoe

5

यदि आपके पास स्टैक ट्रेस है; उदाहरण के लिए:

0 com.your_app  0x00000001016191e0 0x1015fb000 + 123360 
1 com.your_app  0x000000010161509d 0x1015fb000 + 106653 
2 com.your_app  0x00000001016147b9 0x1015fb000 + 104377 
3 com.your_app  0x000000010161df81 0x1015fb000 + 143233` 

निम्नलिखित का प्रयास करें:

atos -o YOUR_APP.app.dSYM/Contents/Resources/DWARF/YOUR_APP -l 0x1015fb000 0x00000001016191e0 0x000000010161509d 0x00000001016147b9 0x000000010161df81` 
2

हमने अपने ऐप के साथ एक ही समस्या थी और मैं atos साथ लाइन द्वारा क्रैश रिपोर्ट symbolicating था मैन्युअल रूप से लाइन।

अब मैंने ऐप्पल की प्रतीकात्मक लिपि को ट्वीक किया है जैसे कि यह मैक ऐप्स और पीएलक्रैश रिपोर्टर से क्रैश रिपोर्ट के साथ काम करता है।

https://github.com/lksnmnn/Symbolicate-CrashReports

इसका उपयोग कैसे करें:

सुनिश्चित करें कि आप अपने कंप्यूटर पर निम्न फ़ाइलों के सभी किया है:

  1. दुर्घटना की रिपोर्ट: report.crash
  2. आपके ऐप की डीएसवाईएम फ़ाइल: MyApp.dSYM
  3. आपके ऐप का निष्पादन योग्य/ऐप फ़ोल्डर: MyApp।एप्लिकेशन
  4. बेहतर symbolicate स्क्रिप्ट: symbolicatecrash

अब कमांड लाइन (टर्मिनल) में जाने के लिए और निम्न कार्य करें:

# set the developer directory 
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" 

# Now run the script 
/Path/To/symbolicatecrash /Path/To/report.crash > /Path/To/readable_report.crash 

# Use -v for verbose logging. 

स्क्रिप्ट अपने dSYM और अपने निष्पादन मिलेगा और जितना संभव हो उतना प्रतीकात्मक है। अब आप ने कहा आउटपुट फ़ाइल readable_report.crash

बिल्ड सेटिंग में अपनी symbolicated रिपोर्ट मिलेगी:

उचित रिपोर्ट और प्रतीकों के लिए, यह करने के लिए अपने निर्माण सेटिंग्स निर्धारित:

Strip Debug Symbols During Copy: Yes 
Strip Style: All Symbols 
Strip Linked Product: Yes