क्या आईफोन सिम्युलेटर द्वारा उत्पन्न कोई क्रैश लॉग हैं?
सिम्युलेटर बहुत सारे क्रैश करता है लेकिन कंसोल में कोई निशान नहीं छोड़ रहा है ... क्रैश लॉग उपयोगी होगा।
क्या आईफोन सिम्युलेटर द्वारा उत्पन्न कोई क्रैश लॉग हैं?
सिम्युलेटर बहुत सारे क्रैश करता है लेकिन कंसोल में कोई निशान नहीं छोड़ रहा है ... क्रैश लॉग उपयोगी होगा।
जवाबों:
कंसोल NSLog()
सिम्युलेटर में चल रहे ऐप से आउटपुट दिखाएगा । क्रैश लॉग फाइल करने के लिए सहेजे गए हैं।
मैंने अपने होम डायरेक्टरी के तहत कुछ पाया है
~/Library/Logs/DiagnosticReports/
उनके पास फ़ाइल एक्सटेंशन है .crash
कुछ मैं अभी तक पता नहीं चला है कि कैसे उन्हें उत्पन्न करने के लिए भी अगर डिबगर EXC_BAD_ACCESS
सिग्नल पकड़ लेता है ।
अपडेट करें
वर्तमान में, (OSX 10.11.6), .crash लॉग इन होता है ~/Library/Logs/DiagnosticReports
, जब एमुलेटर स्वयं क्रैश हो जाता है । ऐप क्रैश होने के कारण लॉग (लेकिन एमुलेटर डिवाइस अभी भी ठीक चल रहा है), में हैं:
~ / Library / लॉग्स / CoreSimulator
प्रति दुर्घटना, एक अद्वितीय आईडी के साथ एक उप-फ़ोल्डर है। तिथि के अनुसार क्रमबद्ध करें, ताकि आपकी हाल की दुर्घटना पहली उप-फ़ोल्डर हो। उसके अंदर, देखकर शुरू करो stderr.log
और system.log
।
इसके अलावा सीधे CoreSimulator
, देखें CoreSimulator.log
और Simulator.log
।
~/Library/Logs/DiagnosticReports/
मुझे पूरा यकीन है कि आप इसे यूटिलिटी में स्थित OS X कंसोल ऐप में देख सकते हैं। अगर मैं गलत हूं, लेकिन मुझे वोट देना सुनिश्चित करें ताकि मैं इसे हटा दूं।
अपडेट करें:
विशेष रूप से (OSX 10.11.6 के रूप में),
जब कोई एप्लिकेशन एमुलेटर पर क्रैश होता है, तो एक सबफ़ोल्डर (एक अद्वितीय आईडी के साथ) इसमें जोड़ा जाता है:
~ / Library / लॉग्स / CoreSimulator
कि भीतर, का परीक्षण करके शुरू stderr.log
और system.log
।
जब एम्यूलेटर स्वयं क्रैश हो जाता है, तो एक सबफ़ोल्डर इसमें जोड़ा जाता है:
~ / Library / लॉग्स / DiagnosticReports
इस पथ को भ्रमित न करें
/ Library / लॉग्स
( ~
शुरुआत में कमी ), जिसमें आपके मैक के बारे में अलग-अलग रिपोर्ट हैं।
यहाँ कुछ ऐसा है जो एक विशेष मामले में मेरे लिए काम करता है ... मेरा ऐप SIGKILL के साथ क्रैश हो रहा था क्योंकि यह समाप्त हो गया था। मैं कुछ सेकंड के लिए main.m में अपवाद देखूंगा, और फिर ऐप समाप्त कर देगा - इस प्रकार, बैक ट्रेस प्राप्त करने का कोई मौका नहीं।
मैंने बहुत खोज की "जहां पर सिम्युलेटर अपने क्रैश लॉग को संग्रहीत करता है" और कभी भी उत्तर खोजने में कामयाब नहीं हुआ। हालांकि, निम्नलिखित चाल काफी काम आई और मैं फ्लाई पर क्रैश लॉग को हथियाने में सक्षम था:
मूल रूप से, खोलें / आवेदन / उपयोगिताएँ / क्रशरिपोर्टसिएरेसेप और सेटिंग को "डेवलपर" में बदलें। यह CrashReporter आपके ऐप के क्रैश होने के बाद क्रैश लॉग के साथ पॉपअप प्रदर्शित करने का कारण बनेगा।
मैं Apple से इस डॉक्टर में "देखने के आईओएस सिम्युलेटर कंसोल और क्रैश लॉग" अनुभाग में पाया: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development-workflow/125-Using_iOS_Simulator/ios_simulator_application। एचटीएमएल
यह बहुत अधिक विश्वसनीय है। केवल कुछ चरणों में मैं स्रोत लाइन संख्या और विधि का नाम खोजने में सक्षम था:
क्रैश क्रैश लॉग ~ / लाइब्रेरी / लॉग्स / क्रैशरपुलेटर के नीचे दिखाई देंगे।
जब Xcode एक कनेक्टेड डिवाइस से क्रैश लॉग प्राप्त करता है, तो यह उन्हें ~ / लाइब्रेरी / लॉग / क्रैशरिपोर्ट / मोबाइलडेविस के उप-फ़ोल्डरों में संग्रहीत करता है