आपको macOS से सिस्टम डायग्नोस्टिक फाइलें कैसे मिलती हैं?


20

मैं एक दुर्घटनाग्रस्त (या फांसी) ऐप को डीबग करने की कोशिश कर रहा हूं। मुझे क्रैश से डायग्नोस्टिक फाइलें कैसे मिलती हैं?

जवाबों:


19

व्यक्तिगत क्रैश रिपोर्ट ~ / लाइब्रेरी / लॉग / क्रैशर में संग्रहीत की जाती हैं, लेकिन सिस्टम वाइड लॉग कलेक्शन टूल है जिसे sysagagnose कहा जाता है ।

एक बार जब आप समस्या का अनुभव करना शुरू कर दें, तो 4 नियंत्रण कुंजी दबाए रखें और फिर अवधि दबाएं "।" चाभी। shift+ control+ option+ command+.

लगभग 15 सेकंड के बाद, एक खोजक विंडो एक sysdiagnose फ़ाइल पर प्रकाश डाला के साथ खुलेगी।

एक बार जब आप समस्या का अनुभव करना शुरू कर देते हैं, तो "शिफ्ट" + "कंट्रोल" + "विकल्प" + "कमांड" कुंजियों को दबाए रखें और फिर अवधि को दबाएं। "  चाभी।

यह शॉर्टकट केवल sysdiagnoseकमांड को निष्पादित करता है , इसलिए यदि आप टर्मिनल से परिचित हैं और एक प्रक्रिया आईडी में पास होना चाहते हैं, तो आप उस विशिष्ट प्रोग्राम के बारे में उन्नत डिबगिंग जानकारी प्राप्त कर सकते हैं। मुख्य शॉर्टकट टूल को बिना किसी तर्क के कहता है और केवल मूल रिपोर्ट को कैप्चर करता है।


वहाँ एक रास्ता है, यह कमांड लाइन द्वारा प्राप्त करने के लिए?
सिदासा

1
~/Library/Logs/CrashReporter.crashफ़ाइलें नहीं है । इसके बजाय: /Library/Logs/DiagnosticReportsऔर~/Library/Logs/DiagnosticReports
ग्राहम पेरिन

स्टैडशॉट डेमॉन चलाता है, तो सिसडैग्नोज के लिए महत्वपूर्ण राग काम करेगा। में मेरा उत्तर , launchctlआदेश डेमॉन शुरू कर देंगे।
ग्राहम पेरिन

क्या sysdiagnoseOS 10.6 में भी कमांड उपलब्ध है? मुझे मैन पेज नहीं मिल रहा है और which sysdiagnoseओएस 10.6.8 में कुछ भी नहीं मिलता है, या क्या मुझे इसे विस्फोटक रूप से स्थापित करना है?
अधिकांशहार्मलेस

1
@ मेरा जवाब आपके प्रश्न को संबोधित करने के लिए संपादित किया गया है।
ग्राहम पेरिन

16

सेब sysdiagnose

यह शेल स्क्रिप्ट (10.8 और उससे कम) और निष्पादन योग्य कार्यक्रम 10.9 पर इसी नाम से:

  • सिस्टम-व्यापी नैदानिक ​​जानकारी इकट्ठा करता है
  • ओएस एक्स शेर और अधिक से अभिन्न है
  • एक अलग डाउनलोड के रूप में उपलब्ध नहीं है
  • खुला स्रोत नहीं है (मैंने Apple से ऐसा करने के लिए कहा है)।

कीबोर्ड के लिए तैयारी केवल sysdiagnose के लिए दृष्टिकोण

टर्मिनल में, निम्न कमांड चलाएँ।

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.stackshot.plist
  • यदि पासवर्ड के लिए कहा जाए, तो ऑपरेटिंग सिस्टम के लिए अपना एडमिन पासवर्ड डालें
  • यह एक बंद है, कमांड दोहराने की आवश्यकता नहीं है।

निम्नलिखित प्रमुख राग का लिखित नोट लें, आपको बाद में इसकी आवश्यकता होगी:

Control- Option- Command- Shift-.

प्रणाली द्वारा निदान

जब कोई समस्या होती है:

  1. कुंजी तार का उपयोग करें
  2. कम से कम दस सेकंड के लिए, कुछ भी नहीं स्पर्श करें
  3. sysdiagnoseरूटीन के सभी हिस्सों को पूरा करने के लिए शायद पाँच या दस मिनट का समय दें - बस जब तक आप कर सकते हैं तब तक प्रतीक्षा करें (प्रगति का कोई ऑन-स्क्रीन संकेत नहीं होगा)
  4. खोजकर्ता को अंतिम परिणाम के लिए एक विंडो खोलनी चाहिए।

ख़ासकर

दुर्लभ मामलों में, एक मुद्दा sysdiagnose को पूरा होने से रोक सकता है (मैंने Apple में सुधार के सुझाव दिए हैं)। यदि ऐसा होता है - यदि आप सुनिश्चित हैं कि आपने काफी समय तक इंतजार किया है - तो मैक को पुनरारंभ करना समझदार हो सकता है। फिर:

  1. खोजक में, करने के लिए जाओ /private/var/tmp
  2. sysdiagnose_ नाम से एक फ़ाइल या फ़ोल्डर की तलाश करें
  3. यदि वह फ़ाइल या फ़ोल्डर मौजूद है, तो उसे किसी सुविधाजनक स्थान पर ले जाएं - आपका डेस्कटॉप, हो सकता है।

संकेत

मुख्य राग के बिना, आप कमांड लाइन से sysdiagnose चला सकते हैं (नीचे देखें, Apple मैनुअल पेज)। लेकिन यह अक्सर अधिक उपयोगी है, या आवश्यक है, राग का उपयोग करने के लिए - इसलिए तैयार रहें।

जब तक मैं लापरवाही को प्रोत्साहित नहीं करता, आप Control- Option- Command- Shift- - के साथ थोड़ा लापरवाह हो सकते हैं .यदि आप fnअपने लैपटॉप पर कुंजी से बचने के लिए संघर्ष करते हैं, तो चिंता न करें; दुर्घटना सहित इसे चलाने से नहीं रोका जाना चाहिए sysdiagnose


प्रणाली द्वारा निदान का मानव विश्लेषण

संकेत: कोई व्यक्ति परिणामों के विश्लेषण के बारे में एक अलग सवाल पूछना पसंद कर सकता है sysdiagnose- एक अधिक सामान्यीकृत उत्तर उपयोगी हो सकता है।

यदि /tmpक्षेत्र से sysdiagnose_… एक फ़ाइल है

एक sysdiagnose_….tar.gzफ़ाइल की उपस्थिति इंगित करती है कि sysdiagnoseदिनचर्या के सभी हिस्सों को पूरा किया, और यह कि परिणाम संग्रहीत किए गए थे। यदि आप चाहें, तो संग्रह खोलें - इसकी सामग्री एक फ़ोल्डर के रूप में दिखाई देगी।

यदि sysdiagnose_ ... /tmpक्षेत्र से एक फ़ोल्डर है

एक sysdiagnose_…फ़ोल्डर की उपस्थिति (एक .tar.gzफ़ाइल नहीं ) इंगित करता है कि या तो:

  • पूरा होने से पहले दिनचर्या बाधित हो गई थी; या
  • दिनचर्या का कुछ हिस्सा पूरा नहीं हो सका।

संग्रह / फ़ोल्डर के भीतर

कुछ फाइलें मानव-पठनीय हैं और किसी समस्या के निवारण में मदद कर सकती हैं।

अन्य फाइलें अधिक डेवलपर उन्मुख हैं।

सम्बंधित:

एक के लिए अधूरा के रन sysdiagnoseमें यह उपयोगी हो सकता है फ़ाइलों को कर रहे हैं पर कुछ ध्यान केन्द्रित करने के असामान्य रूप से खाली ...


तकनीकी और अन्य नोट

स्टैकशॉट (1) OS X मैनुअल पेज

sysdiagnose (1) OS X मैनुअल पेज

जो कुछ ऊपर है वह स्वीकृत उत्तर का एक अधिक सामान्य संस्करण है जो अन्यत्र दिखाई देता है।


निदान और उपयोग की जानकारी, ब्याज की अन्य फाइलें

कंसोल में लॉग सूची द्वारा निर्देशित करें:

कंसोल के साइडबार का स्क्रीनशॉट

निम्नलिखित रास्तों पर फाइलें खोजने की उम्मीद करें:

  • ~ / Library / लॉग्स / DiagnosticReports
  • / Library / लॉग्स / DiagnosticReports
  • ~ / Library / लॉग्स
  • / Library / लॉग्स
  • / निजी / var / लॉग

2
→ ग्राहम: यह एक + दिन है: कुछ सीखना है! मुझे लगता है कि इस तरह के टूल से सभी सोर्सडमिन इनपुट को फायदा होता अगर यह ओपन सोर्स होता।
दान

0

Console

मौजूदा डायग्नोस्टिक या क्रैश फ़ाइलों को खोजने के लिए, कंसोल ऐप खोलें और उपयोगकर्ता रिपोर्ट्स (स्थित ~/Library/Logs/DiagnosticReports) या सिस्टम रिपोर्ट (स्थित /Library/Logs/DiagnosticReports) अनुभागों में फ़ाइलों को ढूंढें । देखें: मुझे अपने क्रैश लॉग कहां मिल सकते हैं?

sysdiagnose

MacOS के आधिकारिक sysdiagnoseनिर्देशों के अनुसार , आप sysdiagnoseया तो इसके द्वारा ट्रिगर कर सकते हैं :

नोट: उपरोक्त लिंक तक पहुंचने के लिए, आपको पहले डेवलपर ऐप्पल साइट पर लॉग-इन करना होगा ।

  • निम्नलिखित कुंजियों को संक्षेप में एक साथ दबाएं:

    Command- Option- Shift- Control-Period (.)

    और प्रतीक्ष करो। sysdiagnoseइस प्रक्रिया को पूरा करने के लिए 10 मिनट लग सकते हैं। एक बार समाप्त होने के बाद, खोजक को स्वचालित रूप से उत्पन्न फ़ाइल को दिखाना चाहिए /private/var/tmp/(जैसे sysdiagnose_2017.mm.dd_hh-mm-ss-0000_12345.tar.gz)।

  • sysdiagnoseइस आदेश को दर्ज करके टर्मिनल से ट्रिगर :

    sudo sysdiagnose
    

कोर डंप

क्रैश कोर डंप उत्पन्न करने के लिए, देखें: macOS पर कोर डंप कैसे उत्पन्न करें?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.