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.