উত্তর:
আবেদনের উপর নির্ভর করে। বিভিন্ন অ্যাপ্লিকেশন বিভিন্ন লগিং সিস্টেম আছে; আপনার সিস্টেমে চলমান সমস্ত প্রোগ্রাম থেকে সমস্ত আউটপুট ধারণ করে এমন কোনও কেন্দ্রীয় লগ নেই।
বলা হচ্ছে, প্রচুর প্রোগ্রাম তাদের লগ ফাইলগুলি ডিরেক্টরিতে রাখে /var/log
। ফাইলটি /var/log/syslog
(বা সম্ভবত /var/log/messages
), "সিস্টেম লগার" থেকে আউটপুট ধারণ করে, যা সিস্টেম দ্বারা উপলব্ধ একটি পরিষেবা যা প্রোগ্রামগুলি লগিংয়ের জন্য (যদি তারা পছন্দ করে) ব্যবহার করতে পারে। তবে সমস্ত প্রোগ্রাম এটি ব্যবহার করে না। বেশিরভাগ ক্ষেত্রে, আপনি সেই ফাইলটিতে নিম্ন-স্তরের সিস্টেম পরিষেবাগুলি থেকে বার্তা পাবেন, সম্ভবত আপনি সম্ভবত গ্রাফিকাল অ্যাপ্লিকেশন ব্যবহার করেন না।
আপনি স্ট্যান্ডার্ড লগ ফাইলগুলির অবস্থানগুলি সম্পর্কে আরও পড়তে চাইতে পারেন ।
ক্র্যাশ ফাইলগুলি /var/log/crashes/
বাগের প্রতিবেদন করার জন্য অ্যাপর সাথে ব্যবহারের জন্য যায় । আপনি একটি কোর ডাম্পের সাথে এক্সট্রাক্ট করতে পারেন apport-unpack
, সেই জিডিবির মাধ্যমে সেই মূল ডাম্প রেখে দিতে পারেন এবং প্রোগ্রামটি ক্র্যাশ হওয়ার কারণে কী ঘটছে তা সন্ধান করতে পারেন।
এই সবই আপনি ধরে নিচ্ছেন যে আপনি একজন প্রোগ্রামার। আপনি না থাকলে ... ভাল, আপনি যেভাবেই হোক ক্র্যাশটি ঠিক করতে পারবেন না!
bt full
"ওহ ব্যাকট্রেস দেখুন ... অনুপস্থিত চিহ্ন সহ ... অনুমান করুন যে আমাকে ডিবাগ প্রতীকগুলি ইনস্টল করতে হবে এবং ক্র্যাশটি পুনরুত্পাদন করার চেষ্টা করতে হবে ..." আমি একবার বুঝতে পেরেছিলাম কিভাবে কীভাবে সেট করা যায়? ব্রেকপয়েন্ট ... যদিও এটি এর সাথে আমি সর্বাধিক উন্নত।
কিছু অ্যাপ্লিকেশনগুলিতে এমন পতাকা রয়েছে যা ডিবাগিং চালু করতে ব্যবহার করা যেতে পারে, যেমন -ডি, -ডি, --ডিবাগ ইত্যাদি। অ্যাপ্লিকেশনটির ম্যান পৃষ্ঠা ( man [my-app]
) দেখুন বা অ্যাপ্লিকেশনটি -h পতাকা সহ চালনা করুন এটিতে এটি রয়েছে কিনা তা দেখতে বিকল্প।
অনেক জিইআইআই অ্যাপ্লিকেশনগুলি $ হোম / .এক্সেসিওন-ত্রুটিগুলিতে লিখেছে যাতে আউটপুট পরীক্ষা করার জন্য এটি ভাল জায়গা।
ম্যাকো ঠিক বলেছেন যে অ্যাপর্টটি সম্ভবত ভাল ডিবাগ তথ্য পাওয়ার সবচেয়ে নিশ্চিত আগুনের উপায়। যদিও কখনও কখনও এটি ক্রাশটি ক্যাপচার করে না।
অন্য সমস্ত কিছু যদি ব্যর্থ হয় তবে আপনি জিডিবিতে অ্যাপটি চালিয়ে তথ্যটি এটিকে জোর করে তোলাতেও পারেন। এটি এমন কিছু হবে:
$ gdb my-app
(gdb) run
... এটি ক্রাশ হওয়ার জন্য যা প্রয়োজন তা করুন ...
(gdb) bt full
এবং সেখান থেকে যান।
আপনি জিডিবি রুটে গেলে আপনি পূর্বে উল্লিখিত হিসাবে চিহ্নগুলিও ইনস্টল করতে চান। হ্যান্ডহোল্ডিং পরামর্শের জন্য https://wiki.ubuntu.com/DebuggingProgramCrash দেখুন ।
আপনি যদি একটি ডেস্কটপ লঞ্চার ফাইল থেকে আপনার অ্যাপ্লিকেশন চালু করছেন তবে Terminal=true
আপনার .ডেস্কটপ ফাইলটিতে বিকল্পটি যুক্ত করুন। আপনি যখন প্রোগ্রামটি চালাবেন এটি একটি টার্মিনাল খুলবে, আপনি যদি প্রথম স্থানটিতে কমান্ড লাইনের মাধ্যমে প্রোগ্রামটি চালিত করে থাকেন তবে টার্মিনালের আউটপুটটি আপনি দেখতে চান তার অনুরূপ। এই উপায়ে, যখন জিইউআই ক্র্যাশ হয়ে যায় বা স্তব্ধ হয়ে যায় তখন আপনি দেখতে পাবেন কোন টেক্সট আউটপুট এটির দিকে নিয়ে গেছে।