Hardware breakpoint sous gdb

Le
Kevin Denis
Bonjour,

comment utiliser des hardware breakpoints sous gdb?
Je ne peux en utiliser si le binaire n'est pas lancé, pourquoi?

$ gdb -q /bin/ls
Reading symbols from /bin/ls(no debugging symbols found)done.
gdb$ hb * 0x804c1b4
No hardware breakpoint support in the target.
gdb$ b * 0x804c1b4
Breakpoint 1 at 0x804c1b4

Ca semble donc marcher en software. Par contre, si le binaire est démarré
ça fonctionne:
gdb$ b * 0x804c1b4
Breakpoint 1 at 0x804c1b4
gdb$ r
Breakpoint 1, 0x0804c1b4 in ?? ()
gdb$ hb * 0x804c1b4
Hardware assisted breakpoint 2 at 0x804c1b4
gdb$ info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x0804c1b4
breakpoint already hit 1 time
2 hw breakpoint keep y 0x0804c1b4
gdb$

Pourquoi ne puis-je pas poser ce hb avant de lancer le
binaire?

J'ai un problème avec un binaire qui teste la présence de software
breakpoints et je voulais contourner avec des hardware breakpoints.

Merci
--
Kevin
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Antoine Leca
Le #25881902
Kevin Denis écrivit :
comment utiliser des hardware breakpoints sous gdb?



OEQLC?

Je ne peux en utiliser si le binaire n'est pas lancé, pourquoi?



Un point d'arrêt _matériel_ utilise le _matériel_ pour _arrêter_ le
processus. S'il n'est pas lancé, il n'y a rien à arrêter.


Antoine
Publicité
Poster une réponse
Anonyme