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

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

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

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

תכונות ניפוי באגים פולשניות ב-downstream

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

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