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