GNU/Linux >> Tutoriels Linux >  >> Linux

Comment déboguer un module du noyau dans lequel un pointeur NULL apparaît ?

Tout d'abord, déboguez le module ? Voyez juste si vous pouvez le charger dans gdb, il pourrait pointez-vous directement vers une ligne qui utilise la variable pertinente (ou proche de celle-ci).

oh, et vous pourriez trouver cet article utile


Je suis l'un des auteurs de ce patch, désolé c'est tellement bogué :)

En général, pour trouver des pointeurs nuls comme celui-ci, j'insère simplement printks jusqu'à ce que je trouve le pointeur qui est nul (=0), puis je lis le code source jusqu'à ce que je découvre pourquoi.

Cependant, dans ce cas, je sais que vous devez désactiver la console framebuffer ou vous obtiendrez ce méchant bogue, qui ne se déclenche que lorsque la console est visible. Ou cela pourrait être le bogue déclenché lorsque vous débranchez le clavier, et le module essaie toujours d'écrire dans le tampon désormais invalide.

Vous devriez consulter le nouveau code sur github, que j'essaie de nettoyer en ce moment, pour faciliter la compilation avec des noyaux arbitraires, et qui contient pas mal de corrections de bogues.

Aussi, rendez-vous sur notre IRC, #lg4l sur freenode.


Linux
  1. Linux - Étant donné un hachage de validation Git, comment savoir quelle version du noyau le contient ?

  2. Linux - Comment trouver quelle version de Java dans le dossier installé Java ?

  3. Linux - Comment recharger correctement un module du noyau ?

  4. Comment trouver quel port série est utilisé ?

  5. Comment trouver la version d'un module du noyau compilé ?

Comment charger ou décharger un module du noyau Linux

Comment trouver la version du noyau Linux en cours d'exécution sur votre PC

Comment trouver quel service écoute sur un port particulier

Comment savoir à quels groupes un utilisateur appartient sous Linux

Comment trouver quelle carte graphique avez-vous sous Linux ?

Comment vérifier quel fuseau horaire sous Linux ?