2010-10-16 13 views
17

पर कोर डंप फ़ाइल जेनरेट नहीं की गई है, मैं gdb का उपयोग करके अपने सी प्रोग्राम के कारण सेगमेंटेशन गलती डीबग करने का प्रयास कर रहा हूं। एक कोर डंप फ़ाइल स्वचालित रूप से उत्पन्न होता है नहीं जब मैं अपने कार्यक्रम चलाने के लिए, और मैं अगले चलाने पर उत्पन्न किया जा करने के लिए एक कोर फ़ाइल के लिए आदेशसेगमेंट गलती

ulimit -c unlimited 

चलाने के लिए है।

कोर डंप फ़ाइल स्वचालित रूप से क्यों उत्पन्न नहीं होती है और मुझे अपने प्रोग्राम के अगले भाग पर कोर फ़ाइल उत्पन्न करने के लिए हर बार ulimit कमांड क्यों चलाना पड़ता है?

मैं जिस ऑपरेटिंग सिस्टम का उपयोग करता हूं वह उबंटू 10.10 है।

उत्तर

18

आप कमांड जगह

ulimit -c unlimited 
अपने वातावरण सेटिंग में

की जरूरत है।

आप अपने शेल के रूप में पार्टी का उपयोग कर रहे हैं, तो आप में उपरोक्त आदेश जगह की जरूरत है ~/.bashrc

9

ऐसा इसलिए है क्योंकि डिफ़ॉल्ट रूप से आपकी वितरण कोर फ़ाइल आकार को 0 ब्लॉक तक सीमित करती है। ulimit कमांड का उल्लेख आपने बढ़ता है जो अनंत तक सीमित है।

मुझे उबंटू के बारे में पता नहीं है, लेकिन अधिकांश distros में संसाधन सीमाओं के लिए सिस्टम डिफ़ॉल्ट के साथ फ़ाइल/etc/सीमाएं हैं।

15

तुम भी बजाय ~/.bashrc को ulimit -c unlimited जोड़ने की /etc/security/limits.conf फ़ाइल को संपादित करने की कोशिश करना चाहते हो सकता है।

limits.conf "सही" जगह है जहां अधिकांश लिनक्स distros में कोर डंप विवरण निर्दिष्ट करना है।

1

सेगमेंटेशन गलती पथ चर के लिए अप्रासंगिक मानों के कारण है। मेरे सिस्टम पर उपयोगकर्ता [email protected] है और जोड़े गए सामग्री नीचे दी गई हैं।

PATH=$PATH:/home/sidd/ns-allinone-2.35/bin:/home/sidd/ns-allinone-2.35/tcl8.5.10/unix:/home/sidd/ns-allinone-2.35/tk8.5.10/unix 

LD_LIBRARY_PATH=/home/sidd/ns-allinone-2.35/otcl-1.14:/home/sidd/ns-allinone-2.35/lib 

TCL_LIBRARY=/home/sidd/ns-allinone-2.35/tcl8.5.10/library 

कृपया this blog post (बहुत महत्वपूर्ण) देखें।

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