ডিবাগ বৈশিষ্ট্য

লিনাক্স কার্নেল সমস্যা নির্ণয়ের জন্য ট্রেসিং , বিপিএফ এবং প্রোফাইলিং সহ অনেক পদ্ধতি প্রদান করে। এই কৌশলগুলির বেশিরভাগই জেনেরিক কার্নেল ইমেজ (GKI) বাইনারি কার্নেলে উপলব্ধ। পণ্য তৈরির সময়, আরও অনেক টুল থাকে যা উন্নয়ন বা ইন্টিগ্রেশন প্রক্রিয়ার সাথে একীভূত করা হয়, যার মধ্যে কিছুর জন্য এমন কার্নেল ফিচারের প্রয়োজন হয় যা GKI-এর অংশ নয়। GKI-এর বেশিরভাগ ফিচারের মতোই, আমরা আপনাকে এই ফিচারগুলি লিনাক্সে যুক্ত করার জন্য আপস্ট্রিম মেইনটেইনারদের সাথে কাজ করতে উৎসাহিত করি।

ভেন্ডর মডিউলগুলিতে ডাউনস্ট্রিম ডিবাগ বৈশিষ্ট্য

ডিবাগিং ফিচারগুলো পরিধির দিক থেকে অন্যান্য ধরনের ফিচারের মতোই এবং অ্যান্ড্রয়েড-নির্দিষ্ট প্যাচগুলোতে বর্ণিত প্রক্রিয়াগুলোই এদের ক্ষেত্রেও অনুসরণ করতে হবে।

অনুপ্রবেশকারী ডাউনস্ট্রিম ডিবাগ বৈশিষ্ট্য

কিছু দরকারি ডিবাগ ফিচারের জন্য বিশেষ কনফিগারেশন অপশনের প্রয়োজন হয়, যা GKI-তে নিষ্ক্রিয় থাকে এবং তাই কার্নেলের একটি বিশেষ বিল্ডের প্রয়োজন হয়। পারফরম্যান্সের ঘাটতি বা প্রোডাকশন ব্যবহারের জন্য অনুপযুক্ততার কারণে এই ফিচারগুলো নিষ্ক্রিয় করা হতে পারে, কিন্তু নির্দিষ্ট ধরনের সমস্যা ডিবাগ করার জন্য এগুলো অপরিহার্য। এই ধরনের টুলের উদাহরণ হলো স্যানিটাইজার (KASAN, UBSAN), debugfs , এবং অন্যান্য পার্টনার-নির্দিষ্ট ফিচার ও টুল।

কার্নেল মডিউল ইন্টারফেস (KMI)-কে প্রভাবিত করে এমন বিশেষ ডিবাগ-সক্ষম কার্নেলগুলো আপনি কীভাবে পরিচালনা করবেন, তা নির্ধারণ করার দায়িত্ব আপনার। একটি প্রচলিত পদ্ধতি হলো একটি অভ্যন্তরীণ ডিবাগ বিল্ড তৈরি করা এবং এর ফলে প্রাপ্ত আর্টিফ্যাক্টগুলো অভ্যন্তরীণ গ্রাহক বা ডাউনস্ট্রিম ডেভেলপমেন্ট পার্টনারদের কাছে পৌঁছে দেওয়া। আমরা এই ধরনের ফিচারগুলোকে মডিউলের মধ্যে আলাদা করে রাখার পরামর্শ দিই, কারণ অ্যান্ড্রয়েড-নির্দিষ্ট প্যাচগুলোতে বর্ণিত নির্দেশিকাগুলোর বাইরে পার্টনার-নির্দিষ্ট ডিবাগ ফিচারগুলো GKI কার্নেলে গ্রহণ করা যায় না।