2009-04-18 5 views

Répondre

3

Je ne suis pas familier avec Application Verifier et pilote Verifier du tout ...

Pour les applications, Valgrind est très utile comme outil pour vérifier les fuites, sans utilisation ultérieure, double libre, dépassement de mémoire tampon , l'utilisation de données unitalisées, l'accès aux données simultanées non sécurisé et bien plus encore.

Il existe également de nombreux fuzzers (zzuf, fusil, etc.) qui testent la resiliance d'un programme d'entrée non valide.

GCC lui-même a -fstackprotector, ce qui permet SSP (protecteur de pile-smashing, aka ProPolice); -fmudflap, qui détecte une autre mauvaise utilisation de la mémoire; et (en conjonction avec glibc) -D_FORTIFY_SOURCE=n, ce qui ajoute un contrôle supplémentaire sur diverses fonctions de chaîne et de mémoire.

Dans le noyau Linux, il y a beaucoup de commutateurs de configuration sous le "noyau piratage" dans le menu:

  • CONFIG_DEBUG_SLAB, CONFIG_DEBUG_PAGEALLOC, etc., qui assurent que la mémoire est allouée, utilisé et libéré sanely
  • CONFIG_DEBUG_OBJECTS, qui vérifie que les objets sont utilisés et libérés ordre
  • kmemcheck, « Valgrind pour le noyau »
  • CONFIG_PROVE_LOCKING, qui analyse pour tous les éventuels blocages
  • CONFIG_DEBUG_PREEMPT, CONFIG_DEBUG_MUTEXES, CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_SPINLOCK_SLEEP, etc., qui avertissent sur une mauvaise utilisation du verrouillage
  • CONFIG_FAULT_INJECTION & co., qui provoquent probabilistes échecs d'allocation de mémoire et d'E/S
Questions connexes