লিনাক্স অ্যাপ্লিকেশনটির ক্র্যাশ দ্বারা উত্পন্ন মূল ফাইলটি কোথায় সন্ধান করবেন?


19

আমি আমার একটি লিনাক্স অ্যাপ্লিকেশনটির ক্র্যাশ হওয়ার কারণটি অনুসন্ধান করার চেষ্টা করছি। আমি জানি না কোর কোথায় যাচ্ছে।

cat /proc/sys/kernel/core_pattern
core.%e.%p

কোন ধারণা?

উত্তর:


23

মূল ডাম্প ক্রাশের সময় প্রক্রিয়াটির বর্তমান ডিরেক্টরিতে লেখা হয়।

অবশ্যই মূল ডাম্পগুলি সক্ষম করা দরকার, ডিফল্টরূপে সেগুলি সাধারণত অক্ষম থাকে। আউটপুট পরীক্ষা করে দেখুন ulimit -c, যদি 0 হয় তবে কোনও মূল ফাইল লেখা হবে না। ulimit -c unlimitedকোর ডাম্প সক্ষম করতে চালান ; এটি একটি প্রতি-প্রক্রিয়া সেটিং যা সেই প্রক্রিয়া দ্বারা শুরু হওয়া প্রক্রিয়াগুলির দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত।

যদি কোনও কোর ডাম্প উত্পন্ন করা উচিত ছিল তবে আপনি কোথায় জানেন না, তবে আপনি আবার প্রক্রিয়াটি শুরু করতে পারেন (যদি তা অবিলম্বে ক্রাশ না হয়ে থাকে), তবে প্রক্রিয়াটির প্রসেস আইডি ls -l /proc/$pid/cwdকোথায় রয়েছে $pidতা করে তার কার্যকারী ডিরেক্টরিটি পরীক্ষা করে দেখুন। এই লিঙ্কটি সেই প্রক্রিয়াটির বর্তমান কার্যকারী ডিরেক্টরিকে নির্দেশ করবে। সম্ভাবনা হ'ল কোর ডাম্প থাকবে। অন্যথায় আপনার findপুরো সিস্টেমটি চালানো দরকার ...


3
আমি এর সীমাহীন সীমাহীন-চেক পরীক্ষা করেছি, তবে এখনও প্রক্রিয়াটির বর্তমান ডিরেক্টরিতে কিছুই নেই।
ডিসিডিস

1
এটা যে অ্যাপ্লিকেশনটি একটি মারাত্মক ত্রুটি নিজেই শনাক্ত বাতিল সম্ভব অর্থাত এটা একটি "বাস্তব" ক্র্যাশ যেমন একটি সেগমেন্টেশন লঙ্ঘন বা অনুরূপ, যা না হবে একটি কোর ডাম্প উৎপন্ন। আপনি অ্যাপ্লিকেশন সম্পর্কে কোনও তথ্য না দেওয়ার কারণে এটি জানা সম্ভব নয়।
wurtel

1
এটি অবশ্যই একটি ক্র্যাশ কোজ আমি জেনে শুনে নাল পয়েন্টার করছি doing
ডিসিডিস

20

সিস্টেমড ব্যবহার করে সিস্টেমগুলি সাধারণত কোর ডাম্প করার জন্য কনফিগার করা হয়

/var/lib/systemd/coredump/

coredumpctlকোর ডাম্পগুলি তালিকাভুক্ত করতে আপনি কমান্ডটি ব্যবহার করতে পারেন । আরও দেখুন নো আরো-coredumps-পরে মাইগ্রেট-systemd হল থেকে

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