আমি ওবুন্টু 16.04LTS- এ কোর ডাম্পটি কোথায় পাই?


14

আমার কাছে একটি সি ++ প্রোগ্রাম রয়েছে যা এটি করার কথা বলে যা করে তবে এটি পয়েন্টারটিতে অবশ্যই কিছু সমস্যা আছে কারণ এটি শেষে ক্র্যাশ হয়ে একটি কোর ডাম্প তৈরি করে। আমার সমস্যাটি হ'ল আমি মূল ফাইলটি খুঁজে পাচ্ছি না, তাই আমি এটি ডিবাগ করতে পারি না।

আমি চেষ্টা করেছি

ulimit -c unlimited
ulimit -a

এবং এখন ফাইলটির মাত্রা সীমাহীনতে সেট করা হয়েছে তবে এখনও আমি মূলটি খুঁজে পাচ্ছি না। আমি এখানে লিখিত প্রতিটি ফোল্ডারে চেষ্টা করেছি তবে এখনও মনে হচ্ছে কোনও মূল ফাইল তৈরি হয়নি।

আমি এটি কোথায় খুঁজে পাব?


বর্তমান ডিরেক্টরি, বা/var/crash
ওয়ালটিনেটর

4
বেশিরভাগ ক্ষেত্রেই সত্য, @ ওয়াল্টিনেটর, কখনও কখনও এটি পরীক্ষা করা প্রয়োজন /var/log/apport.log, কারণ আধুনিক উবুন্টু সংস্করণগুলি অ্যাপোর্ট ব্যবহার করে, যা স্পষ্টতভাবে কোর-ডাম্পিংয়ে হস্তক্ষেপ করতে পারে। আরও তথ্যের জন্য stackoverflow.com/a/18368068/1772379 দেখুন ।
বেন জনসন

উত্তর:


12

উবুন্টুতে কোর ডাম্পগুলি অ্যাপপোর্ট দ্বারা পরিচালিত হয় এবং এটিতে অবস্থিত হতে পারে /var/crash/। তবে এটি স্থিতিশীল প্রকাশে ডিফল্টরূপে অক্ষম থাকে।

অ্যাপোর্ট সক্ষম করতে, চালান: sudo systemctl enable apport.serviceবা sudo service apport start


অক্ষম করতে, চালান: sudo systemctl disable apport.serviceবা sudo service apport stopনিয়মিত কোর ডাম্পিং পদ্ধতিতে ফিরে যেতে। দেখুন: আমি কীভাবে অ্যাপোর্ট সক্ষম বা অক্ষম করব?

স্থায়ীভাবে অক্ষম করতে, /etc/apport/crashdb.confফাইল সম্পাদনা করুন এবং নিম্নলিখিত লাইনটিতে মন্তব্য করুন:

'problem_types': ['Bug', 'Package'],

#লাইনের শুরুতে একটি হ্যাশ প্রতীক যুক্ত করে ।

ক্র্যাশ প্রতিবেদন অক্ষম করতে (স্বাভাবিক ফিরে), হ্যাশ প্রতীক (এটি যেমন ছিল তেমন) মুছে ফেলুন।


core_patternকর্নেল দ্বারা কীভাবে মূল ডাম্পগুলি পরিচালনা করা হয় তা আপনিও পরীক্ষা করতে পারেন :

$ cat /proc/sys/kernel/core_pattern
|/usr/share/apport/apport %p %s %c

এমনকি মূল ফাইলগুলি দ্বারা অক্ষম করা হয়েছে ulimit, apportতবুও ক্রাশটি ক্যাপচার করবে।

আরো দেখুন:


4

এই গুগলিনদের জন্য: '(আমার ক্ষেত্রে - উবুন্টু 16.04 এবং 18.04 এবং একটি কাস্টম অ্যাপ্লিকেশন) /var/crashতখনও খালি ছিল, সুতরাং মূল সৃষ্টি পরিচালনা করার জন্য একটি দ্রুত উপায় (আপনি উদাহরণস্বরূপ কোনও প্রাসঙ্গিক উলিমিট বিল্টিন সেটিং ব্যবহার করে থাকেন ) ছিল

sudo sysctl -w kernel.core_pattern=core.%u.%p.%t # to enable core generation

এবং

systemctl restart apport # to restore default apport settings
# which, by the way, were "|/usr/share/apport/apport %p %s %c %d %P" (without quotes)


সূত্র:


সরল, সরল, কাজ করেছেন।
তাইকাহন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.