আউটপুট ছাড়াই কোনও অ্যাপ্লিকেশন ক্র্যাশ হয়ে গেলে ত্রুটি, এমন কোনও লগ আছে যা আমি পরীক্ষা করতে পারি?


18

কখনও কখনও এটি ঘটে যে কোনও অ্যাপ্লিকেশন ক্রাশ ছাড়াই কোনও আউটপুট ত্রুটি দেয় না ( আমার ক্ষেত্রে কঙ্কি , সম্ভবত আমার কনফিগারেশনের মধ্যে একটি এটি ভুল)।

কোথাও কোনও ত্রুটিযুক্ত লগ রয়েছে যা আমি ক্র্যাশ হয়ে গেছে তা বুঝতে পরীক্ষা করতে পারি?

উত্তর:


14

আবেদনের উপর নির্ভর করে। বিভিন্ন অ্যাপ্লিকেশন বিভিন্ন লগিং সিস্টেম আছে; আপনার সিস্টেমে চলমান সমস্ত প্রোগ্রাম থেকে সমস্ত আউটপুট ধারণ করে এমন কোনও কেন্দ্রীয় লগ নেই।

বলা হচ্ছে, প্রচুর প্রোগ্রাম তাদের লগ ফাইলগুলি ডিরেক্টরিতে রাখে /var/log। ফাইলটি /var/log/syslog(বা সম্ভবত /var/log/messages), "সিস্টেম লগার" থেকে আউটপুট ধারণ করে, যা সিস্টেম দ্বারা উপলব্ধ একটি পরিষেবা যা প্রোগ্রামগুলি লগিংয়ের জন্য (যদি তারা পছন্দ করে) ব্যবহার করতে পারে। তবে সমস্ত প্রোগ্রাম এটি ব্যবহার করে না। বেশিরভাগ ক্ষেত্রে, আপনি সেই ফাইলটিতে নিম্ন-স্তরের সিস্টেম পরিষেবাগুলি থেকে বার্তা পাবেন, সম্ভবত আপনি সম্ভবত গ্রাফিকাল অ্যাপ্লিকেশন ব্যবহার করেন না।

আপনি স্ট্যান্ডার্ড লগ ফাইলগুলির অবস্থানগুলি সম্পর্কে আরও পড়তে চাইতে পারেন


6

ক্র্যাশ ফাইলগুলি /var/log/crashes/বাগের প্রতিবেদন করার জন্য অ্যাপর সাথে ব্যবহারের জন্য যায় । আপনি একটি কোর ডাম্পের সাথে এক্সট্রাক্ট করতে পারেন apport-unpack, সেই জিডিবির মাধ্যমে সেই মূল ডাম্প রেখে দিতে পারেন এবং প্রোগ্রামটি ক্র্যাশ হওয়ার কারণে কী ঘটছে তা সন্ধান করতে পারেন।

এই সবই আপনি ধরে নিচ্ছেন যে আপনি একজন প্রোগ্রামার। আপনি না থাকলে ... ভাল, আপনি যেভাবেই হোক ক্র্যাশটি ঠিক করতে পারবেন না!


1
"এগুলি সবই আপনি ধরে নিচ্ছেন যে আপনি একজন প্রোগ্রামার। আপনি যদি না হন ... ভাল, আপনি যেভাবেই হোক ক্র্যাশটি ঠিক করতে পারবেন না!" ওপেন সোর্স দিয়ে আমরা সকলেই আমাদের সমস্যাগুলি সমাধান করার চেষ্টা করতে পারি, স্পষ্টতই নিজের ঝুঁকিতে;)
স্ট্রে

@ ডানিয়েল: আসলেই না! আপনি যদি প্রোগ্রামার না হয়ে থাকেন এবং আপনার অ্যাপ্লিকেশন কোড সম্পর্কে ভাল ধারণা না থাকে তবে আপনি যে কোডটি দিয়ে বাগিগিয়ারের সাথে তত বেশি গোলমাল করবেন সম্ভবত :)
আন্তোনিওসিএস

1
এমনকি যদি আপনি প্রোগ্রামার না হন তবে মাঝে মাঝে একটি কোর ডাম্প সন্ধান করা আপনাকে সমস্যাটি সম্পর্কে ধারণা দিতে পারে। উদাহরণস্বরূপ, মনে হচ্ছে এটি
কোনওরকম

2
.. এবং এটি বাগ রিপোর্ট / ফোরামগুলির ত্রুটিগুলি বর্ণনা করতে সহায়তা করে;)
স্ট্রে

1
আপনি জিডিবি ব্যবহার করতে পারবেন এমন নন-প্রোগ্রামারদের জানেন? আমি একজন প্রোগ্রামার এবং এ পর্যন্ত পেতে পারি bt full"ওহ ব্যাকট্রেস দেখুন ... অনুপস্থিত চিহ্ন সহ ... অনুমান করুন যে আমাকে ডিবাগ প্রতীকগুলি ইনস্টল করতে হবে এবং ক্র্যাশটি পুনরুত্পাদন করার চেষ্টা করতে হবে ..." আমি একবার বুঝতে পেরেছিলাম কিভাবে কীভাবে সেট করা যায়? ব্রেকপয়েন্ট ... যদিও এটি এর সাথে আমি সর্বাধিক উন্নত।
ম্যাকো

3

কঙ্কির জন্য এটিও হতে পারে যে এন্ট্রি রয়েছে $HOME/.xsession-errors


2

কিছু অ্যাপ্লিকেশনগুলিতে এমন পতাকা রয়েছে যা ডিবাগিং চালু করতে ব্যবহার করা যেতে পারে, যেমন -ডি, -ডি, --ডিবাগ ইত্যাদি। অ্যাপ্লিকেশনটির ম্যান পৃষ্ঠা ( man [my-app]) দেখুন বা অ্যাপ্লিকেশনটি -h পতাকা সহ চালনা করুন এটিতে এটি রয়েছে কিনা তা দেখতে বিকল্প।

অনেক জিইআইআই অ্যাপ্লিকেশনগুলি $ হোম / .এক্সেসিওন-ত্রুটিগুলিতে লিখেছে যাতে আউটপুট পরীক্ষা করার জন্য এটি ভাল জায়গা।

ম্যাকো ঠিক বলেছেন যে অ্যাপর্টটি সম্ভবত ভাল ডিবাগ তথ্য পাওয়ার সবচেয়ে নিশ্চিত আগুনের উপায়। যদিও কখনও কখনও এটি ক্রাশটি ক্যাপচার করে না।

অন্য সমস্ত কিছু যদি ব্যর্থ হয় তবে আপনি জিডিবিতে অ্যাপটি চালিয়ে তথ্যটি এটিকে জোর করে তোলাতেও পারেন। এটি এমন কিছু হবে:

$ gdb my-app

(gdb) run

... এটি ক্রাশ হওয়ার জন্য যা প্রয়োজন তা করুন ...

(gdb) bt full

এবং সেখান থেকে যান।

আপনি জিডিবি রুটে গেলে আপনি পূর্বে উল্লিখিত হিসাবে চিহ্নগুলিও ইনস্টল করতে চান। হ্যান্ডহোল্ডিং পরামর্শের জন্য https://wiki.ubuntu.com/DebuggingProgramCrash দেখুন ।


কোনও সন্দেহ ছাড়াই আমার পক্ষে সেরা উত্তর
ক্লডিক্স

1

আপনি /var/log/messages or crashesতারপরে যেতে পারেন এবং সেইগুলিতে আপনি grepকমান্ডটি চালিয়ে যেতে পারেন এবং ফাইলগুলির সন্ধানের জন্য আপনি যে অ্যাপ্লিকেশনটি সন্ধান করতে পারেন সেটি কখনও কখনও বড় আকার ধারণ করতে পারে। এটি আপনার আবেদনকারীর সাথে সম্পর্কিত তথ্য ফিরিয়ে দেবে। :)


1

আপনি যদি একটি ডেস্কটপ লঞ্চার ফাইল থেকে আপনার অ্যাপ্লিকেশন চালু করছেন তবে Terminal=trueআপনার .ডেস্কটপ ফাইলটিতে বিকল্পটি যুক্ত করুন। আপনি যখন প্রোগ্রামটি চালাবেন এটি একটি টার্মিনাল খুলবে, আপনি যদি প্রথম স্থানটিতে কমান্ড লাইনের মাধ্যমে প্রোগ্রামটি চালিত করে থাকেন তবে টার্মিনালের আউটপুটটি আপনি দেখতে চান তার অনুরূপ। এই উপায়ে, যখন জিইউআই ক্র্যাশ হয়ে যায় বা স্তব্ধ হয়ে যায় তখন আপনি দেখতে পাবেন কোন টেক্সট আউটপুট এটির দিকে নিয়ে গেছে।


এটি কি করে? আমার কাছে ইতিমধ্যে এই সেট রয়েছে এবং এটি কোনও অতিরিক্ত লগইন করে না।
ম্যাট

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