डीबग विशेषताएं

लिनक्स कर्नेल ट्रेसिंग , बीपीएफ और प्रोफाइलिंग सहित मुद्दों के निदान के लिए कई तंत्र प्रदान करता है। इनमें से अधिकांश तकनीकें जेनेरिक कर्नेल इमेज (जीकेआई) बाइनरी कर्नेल में उपलब्ध हैं। उत्पादों को विकसित करते समय, कई और उपकरण होते हैं जिन्हें विकास या एकीकरण प्रक्रियाओं में एकीकृत किया जाता है, जिनमें से कुछ को कर्नेल सुविधाओं की आवश्यकता होती है जो जीकेआई का हिस्सा नहीं हैं। अधिकांश GKI सुविधाओं की तरह, हम आपको इन सुविधाओं को Linux में जोड़ने के लिए अपस्ट्रीम अनुरक्षकों के साथ काम करने के लिए प्रोत्साहित करते हैं।

विक्रेता मॉड्यूल में डाउनस्ट्रीम डिबग सुविधाएँ

डिबगिंग सुविधाएँ अन्य प्रकार की सुविधाओं के दायरे में समान हैं और उन्हें एंड्रॉइड-विशिष्ट पैच में वर्णित समान प्रक्रियाओं का पालन करना होगा।

घुसपैठिया डाउनस्ट्रीम डिबग सुविधाएँ

कुछ उपयोगी डिबग सुविधाओं के लिए विशेष कॉन्फ़िगरेशन विकल्पों की आवश्यकता होती है जो GKI में अक्षम हैं और इसलिए कर्नेल के एक विशेष निर्माण की आवश्यकता होती है। इन सुविधाओं को प्रदर्शन दंड या उत्पादन उपयोग के लिए अनुपयुक्तता के कारण अक्षम किया जा सकता है, लेकिन कुछ प्रकार के मुद्दों को डीबग करने के लिए ये अपरिहार्य हैं। ऐसे उपकरणों के उदाहरणों में सैनिटाइज़र (KASAN, UBSAN), debugfs और अन्य भागीदार-विशिष्ट सुविधाएँ और उपकरण शामिल हैं।

यह निर्धारित करना आपके ऊपर है कि आप विशेष डिबग-सक्षम कर्नेल को कैसे प्रबंधित करते हैं जो कर्नेल मॉड्यूल इंटरफ़ेस (KMI) को प्रभावित करते हैं। एक सामान्य अभ्यास आंतरिक डिबग का निर्माण करना और परिणामी कलाकृतियों को आंतरिक ग्राहकों या डाउनस्ट्रीम विकास भागीदारों तक पहुंचाना है। हम अनुशंसा करते हैं कि ऐसी सुविधाओं को मॉड्यूल में अलग करना जारी रखें क्योंकि भागीदार-विशिष्ट डिबग सुविधाओं को एंड्रॉइड-विशिष्ट पैच में वर्णित दिशानिर्देशों से परे जीकेआई कर्नेल में स्वीकार नहीं किया जा सकता है।