Fonctionnalités de débogage

Le noyau Linux fournit de nombreux mécanismes pour diagnostiquer les problèmes, y compris le traçage, BPF et le profilage. La plupart de ces techniques sont disponibles dans le noyau binaire Generic Kernel Image (GKI). Lors du développement de produits, de nombreux autres outils sont intégrés aux processus de développement ou d'intégration. Certains d'entre eux nécessitent des fonctionnalités du noyau qui ne font pas partie de GKI. Comme pour la plupart des fonctionnalités GKI, nous vous encourageons à collaborer avec les responsables en amont pour ajouter ces fonctionnalités à Linux.

Fonctionnalités de débogage en aval dans les modules du fournisseur

Les fonctionnalités de débogage ont une portée similaire à celle des autres types de fonctionnalités et doivent suivre les mêmes processus que ceux décrits dans Correctifs spécifiques à Android.

Fonctionnalités de débogage en aval intrusives

Certaines fonctionnalités de débogage utiles nécessitent des options de configuration spéciales qui sont désactivées dans GKI et nécessitent donc une version spéciale du noyau. Ces fonctionnalités peuvent être désactivées en raison de pénalités de performances ou de leur inadaptation à l'utilisation en production, mais elles sont indispensables pour déboguer certains types de problèmes. Par exemple, les outils de désinfection (KASAN, UBSAN), debugfs et d'autres fonctionnalités et outils spécifiques aux partenaires.

Il vous appartient de déterminer comment gérer les noyaux spéciaux compatibles avec le débogage qui ont un impact sur l'interface du module de noyau (KMI). Il est courant de disposer d'une version de débogage interne et de fournir les artefacts obtenus aux clients internes ou aux partenaires de développement en aval. Nous vous recommandons de continuer à isoler ces fonctionnalités dans des modules, car les fonctionnalités de débogage spécifiques aux partenaires ne peuvent pas être acceptées dans le noyau GKI au-delà des consignes décrites dans Correctifs spécifiques à Android.