Fonctionnalités de débogage

Le noyau Linux fournit de nombreux mécanismes pour diagnostiquer les problèmes, notamment le traçage , le 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, dont certains nécessitent des fonctionnalités de noyau qui ne font pas partie de GKI. Comme pour la plupart des fonctionnalités de GKI, nous vous encourageons à travailler 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 à d'autres types de fonctionnalités et doivent suivre les mêmes processus que ceux décrits dans les correctifs spécifiques à Android .

Fonctionnalités de débogage intrusives en aval

Certaines fonctionnalités de débogage utiles nécessitent des options de configuration spéciales 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 performances dégradées ou d'une inadéquation à une utilisation en production, mais sont indispensables pour déboguer certains types de problèmes. Des exemples de tels outils incluent les désinfectants (KASAN, UBSAN), debugfs et d'autres fonctionnalités et outils spécifiques aux partenaires.

C'est à vous de déterminer comment vous gérez les noyaux spéciaux activés pour le débogage qui ont un impact sur l'interface du module noyau (KMI). Une pratique courante consiste à créer une version de débogage interne et à fournir les artefacts résultants 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 directives décrites dans les correctifs spécifiques à Android .