2010-01-17 9 views
59

मैक ओएस एक्स पर, यदि मैं अपने सी प्रोग्राम में सिग्क्विट भेजता हूं, तो यह समाप्त हो जाता है, लेकिन कोई कोर डंप फ़ाइल नहीं है।मैक पर कोर डंप कहां लिखा गया है?

क्या आपको मैक ओएस एक्स (कैसे?) पर कोर डंप मैन्युअल रूप से सक्षम करना है, या क्या वे कार्यशील निर्देशिका के बजाय कहीं और लिखे गए हैं?

+1

शिकायत करने के बजाय आप इसे फिर से बदल सकते हैं - वास्तव में आपके शीर्षक में इसमें कोई क्रिया भी नहीं है। मैं खुशी से आपके प्रश्न को उखाड़ फेंक दूंगा क्योंकि मुझे इस विषय के बारे में दिलचस्पी है। फिर भी मुझे लगता है कि प्रश्न SO द्वारा आवश्यक गुणवत्ता का पालन नहीं कर रहा है। मुझे भी coredump http://stackoverflow.com/questions/2207233/how-to-enable-full-coredumps-on-os-x के संबंध में संबंधित प्रश्न भी है, वैसे, coredumps '/ कोर 'लेकिन टर्मिनल और रूट खाते का उपयोग करके इस फ़ोल्डर में देखें। – sorin

+5

@ सोरीन एक सुझाव कोई समस्या नहीं है, पेटीपन है। – xyz

+1

@ सोरीन एफवाईआई 'हैं' एक (लिंकिंग) क्रिया है।यह नहीं कि यह वास्तव में यहां मायने रखता है, लेकिन यदि हम व्याकरण की आलोचना कर रहे हैं तो इसे सही तरीके से प्राप्त करें;) http://examples.yourdictionary.com/reference/examples/examples-of-linking-verbs.html –

उत्तर

79

ऐसा लगता है कि वे डिफ़ॉल्ट रूप से दबाए जाते हैं।

$ ulimit -c unlimited 

रनिंग कोर सक्षम हो जाएगा उदासीनता, और उस में/कोर रखा जाएगा/core.PID रूप

10

डिफ़ॉल्ट रूप से, मैक OSX में विशिष्ट निर्देशिका छिपे हुए हैं। आप टर्मिनल में इस सुविधा को सक्षम करना चाहते हैं और फिर मूल डंप निर्देशिका/कोर के भीतर दिखाई देनी चाहिए।

चूक सही

+1

धन्यवाद। मैं टर्मिनल (एलएस -एलए) के साथ ब्राउज़ कर रहा था, लेकिन यह वैसे भी एक उपयोगी टिप है। – xyz

12

जवाब ऊपर com.apple.finder AppleShowAllFiles लिखते हैं,

ulimit -c असीमित

काम करता है - लेकिन यह है कि चलाने के लिए सुनिश्चित हो उसी टर्मिनल में जिसमें आप प्रोग्राम चलाएंगे जो कोर को डंप करता है। आपको पहले ulimit कमांड चलाने की जरूरत है।

8

इसके अतिरिक्त,/कोर निर्देशिका निर्देशिका मौजूद होनी चाहिए और प्रोग्राम चलाने वाले उपयोगकर्ता के पास लिखने की अनुमति होनी चाहिए।

+3

मैंने बस इसे साफ कर लिया, मेरी जगह 186 जीबी ले ली! – Dragonborn

19

मैकोज़ पर, आपके क्रैश डंप स्वचालित रूप से Crash Reporter द्वारा प्रबंधित किए जाते हैं।

आप पश्व-अनुरेखन Console को क्रियान्वित करने और उपयोगकर्ता निदान पर जाकर फ़ाइलें पा सकते हैं रिपोर्टें खंड ('नैदानिक ​​और उपयोग की जानकारी' समूह के अंतर्गत) या आप ~/Library/Logs/DiagnosticReports में उन्हें ढूँढ सकते हैं।

आप यह भी देख सकते हैं कि system.log फ़ाइल की निगरानी करके डंप उत्पन्न होते हैं, उदा।

tail -f /var/log/system.log | grep crash 

वास्तविक कोर डंप फ़ाइलों को आप /cores में पा सकते हैं।

यह भी देखें:

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^