תכונות לניפוי באגים

ליבת לינוקס מספקת מנגנונים רבים לאבחון בעיות, כולל מעקב, BPF ופרופילים. רוב הטכניקות האלה זמינות בקרנל הבינארי של Generic Kernel Image ‏ (GKI). בפיתוח מוצרים, יש עוד הרבה כלים שמשולבים בתהליכי הפיתוח או האינטגרציה, וחלקם דורשים תכונות של ליבת מערכת ההפעלה שלא נכללות ב-GKI. כמו ברוב התכונות של GKI, מומלץ לעבוד עם מנהלי תחזוקה של upstream כדי להוסיף את התכונות האלה ל-Linux.

תכונות ניפוי באגים במורד הזרם במודולים של ספקים

תכונות ניפוי הבאגים דומות בהיקף שלהן לסוגים אחרים של תכונות, והן צריכות לפעול לפי אותם תהליכים שמתוארים בתיקונים ספציפיים ל-Android.

תכונות פולשניות לניפוי באגים במורד הזרם

חלק מהתכונות המועילות לניפוי באגים דורשות אפשרויות הגדרה מיוחדות שמושבתות ב-GKI, ולכן נדרשת בנייה מיוחדת של ליבת המערכת. יכול להיות שהתכונות האלה מושבתות בגלל פגיעה בביצועים או בגלל שהן לא מתאימות לשימוש בסביבת ייצור, אבל הן חיוניות לניפוי באגים של סוגים מסוימים של בעיות. דוגמאות לכלים כאלה כוללות כלים לניקוי (KASAN,‏ UBSAN),‏debugfs ותכונות וכלים אחרים שספציפיים לשותפים.

אתם קובעים איך לנהל ליבות מיוחדות עם ניפוי באגים שמשפיעות על Kernel Module Interface (KMI). שיטה נפוצה היא ליצור גרסת build לניפוי באגים פנימית ולספק את הארטיפקטים שנוצרו ללקוחות פנימיים או לשותפים לפיתוח במורד הזרם. מומלץ להמשיך לבודד תכונות כאלה למודולים, כי אי אפשר להוסיף לליבת GKI תכונות ספציפיות לשותפים מעבר להנחיות שמתוארות בתיקונים ספציפיים ל-Android.