Surveillance de l'accès aux variables dans GDB
L'interruption de l'accès aux variables est une technique utile pour déboguer des programmes complexes. Plusieurs commandes de point de surveillance dans GDB vous permettent de surveiller les variables pour les lectures ou les écritures.
watch pauses sur les écritures, rwatch pauses sur les lectures et awatch pauses sur les opérations de lecture/écriture.
Accès mémoire Points de surveillance :
Vous pouvez définir des points de surveillance de lecture sur des emplacements mémoire à l'aide de rwatch. La commande suivante définit un point de surveillance de lecture sur l'adresse 0xfeedface :
gdb$ rwatch *0xfeedface
Cependant, vous ne pouvez pas utiliser de variables GDB dans les expressions pour rwatch et awatch. Si vous essayez de le faire, vous recevrez un message d'erreur. Au lieu de cela, développez les expressions manuellement :
gdb$ print $ebx = 0x135700 gdb$ rwatch *0x135700+0xec1a04f
Support matériel et logiciel :
La prise en charge de Watchpoint dépend de la prise en charge matérielle ou logicielle. Les points de surveillance matériels sont beaucoup plus rapides. Pour vérifier si votre système d'exploitation prend en charge les points de surveillance matériels, utilisez la commande show can-use-hw-watchpoints :
gdb$ show can-use-hw-watchpoints Debugger's willingness to use watchpoint hardware is 1.
Si la sortie est 1, les points de surveillance matériels sont activés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!