2010-09-06 3 views
41

Pour mon application embarquée actuelle, j'essaie de mettre le point de surveillance GDB à une adresse mémoire fixe.GDB: Watchpoint une adresse fixe

Par exemple, mon application met à jour l'adresse suivante: 0x10793ad0. Pour être sûr partie du code corrompt la valeur, j'ai essayé

montre 0x10793ad0

Même si GDB n'imprime pas d'erreur après cela, il est pas en mesure de rompre lors de l'exécution même si je vérifiais la valeur est modifiée entre le début et la fin de l'exécution.

Questions:

a) Puis-je vraiment mettre la montre à une adresse fixe? Je n'ai pas rencontré un tel exemple en ligne. b) Est-ce la bonne façon ou est-ce que je manque quelque chose?

Répondre

62

La bonne façon de définir le point de contrôle sur l'adresse est watch * 0x10793ad0. Voir gdb doc

+0

Yup l'a découvert. Merci! –

+8

Si vous utilisez une adresse fixe parce que vous voulez regarder une variable en dehors de la portée locale, utilisez 'watch -l localptr-> member' à la place. –

Questions connexes