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

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

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

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

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

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

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