Ubuntu 14.04 कोर फाइलें कहां छोड़ता है?


20

मैंने ulimit का उपयोग करके असीमित कोर फ़ाइल आकार सक्षम किया है:

ulimit -a
core file size          (blocks, -c) unlimited
...

मेरा मानना ​​है कि मैंने एक कोर डंप शुरू कर दिया है, लेकिन मैं अपने घर में कोर फाइल नहीं खोज पा रहा हूं, var / ... आदि ...

क्या आप जानते हैं कि उबंटू कोर डंप स्थान को कहाँ कॉन्फ़िगर करता है?


@djf ओपी निर्दिष्ट नहीं करता था कि कौन सा कार्यक्रम कोर डंप का कारण बन रहा है। यह प्रोग्रामर कोड नहीं हो सकता है। यह उन सभी के लिए एकता हो सकती है जो हम जानते हैं।
रिच होमोलका

1
यह एक सुपरयूजर प्रश्न कैसे है? यह एक डिबगर चलाने के बारे में है जो केवल प्रोग्रामर उपयोग करते हैं। इसे एसओ को वापस भेज दिया जाना चाहिए।
होमर 6

जवाबों:


7

मुझे लगता है कि यह एक विशिष्ट उबंटू चीज़ की तुलना में अधिक लिनक्स कर्नेल चीज़ है। चेक आउट

cat /proc/sys/kernel/core_pattern

की जाँच करें मूल फ़ाइल आदमी पेज


13
यह आपको नहीं बताता है कि यह फ़ाइल कहाँ रखता है। प्रश्न का नाम Ubuntu 14.04 है। यह आदेश का पालन करने में बिल्कुल भी स्पष्ट नहीं है /proc/sys/kernel/core_patternकि फाइल कहां मिलेगी।
jcalfee314

1
मेरे लिए, वह core_pattern कर्नेल pseudofile 'apport' नामक प्रोग्राम का संदर्भ देता है ... जिसमें न तो कोई मैन पेज होता है और न ही कोई उपयोगी आउटपुट। तो अभी भी मेरे डंप किए गए कोर की खोज कर रहा हूं। :(
गोजो

1
apport मानक linux डेस्कटॉप कोर हैंडलर है जो आपके डिस्ट्रो को आमतौर पर वापस रिपोर्ट करता है।
kkron

इस फ़ोल्डर को कैसे खोलें? cd /usr/share/apport/apportकाम नहीं करते।
20 अगस्त को mrgloom

32

डिफ़ॉल्ट रूप से, Ubuntu कर्नेल को coredumps को लॉग करने के लिए apport का उपयोग करने के लिए कॉन्फ़िगर किया गया है। आप इसे अधिलेखित करके ओवरराइड कर सकते हैं /proc/sys/kernel/core_pattern, man coreविवरण के लिए "कोर डंप फ़ाइलों का नामकरण" अनुभाग की जांच कर सकते हैं । उदाहरण के लिए:

echo '/tmp/core.%e.%p.%t' | sudo tee /proc/sys/kernel/core_pattern

Apport कोर डंप्स लिखता है /var/crash/_path_to_program.userid.crash, लेकिन यह केवल मुख्य ubuntu apt रिपॉजिटरी से स्थापित अनुप्रयोगों के लिए ही करेगा।

Apport पर अधिक जानकारी: https://wiki.ubuntu.com/Apport


साथ ही गैर-पैकेज कार्यक्रमों के लिए कोर डंप लिखने के लिए, निम्नलिखित सामग्री के साथ ~ / .config / apport / सेटिंग्स नामक एक फाइल बनाएं : [मुख्य]
अनपैक्ड

/ Proc / sys / kernel / core_pattern को संशोधित करना उबंटू में मेरे लिए काम नहीं करता है 18.04
greuze

1

उबंटू में 16.04.3 LTS पर, मेरा कोर डंप यहां स्थित था:

/var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

तो, इसे चलाने के लिए gdb, आप चला सकते हैं:

apt install gdb gdb /path/to/your/binary/application-name /var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

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