OVH Cloud OVH Cloud

Débugguer de l'assembleur

2 réponses
Avatar
Arthur VIGAN
Bonjour,

j'ai trouvé un site d'introduction à l'assembleur PowerPC, et j'ai donc
écrit un petit programme très simple pour tester tout ça... Le
problème, c'est que je n'arrive pas à le débugguer avec GDB.
J'utilise XCode et j'ai installé le module pour qu'il accepte les
fichiers en assembleur (.s), mais quand je mets des points d'arrêt dans
le code en assembleur et que je lance GDB, celui-ci ne s'arrêtes pas...

Quelqu'un saurait comment changer ça? ou alors peut-être existe-il un
débuggueur plus adapté à ce type de code...

Merci d'avance,

-- Arthur;

2 réponses

Avatar
Schmurtz
Arthur VIGAN wrote:

[Š]
J'utilise XCode et j'ai installé le module pour qu'il accepte les
fichiers en assembleur (.s), mais quand je mets des points d'arrêt dans
le code en assembleur et que je lance GDB, celui-ci ne s'arrêtes pas...


C'est normal, si tu lance gdb directement, et non en le lançant par le
débogueur d'XCode. C'est XCode qui demande à gdb de mettre les points
d'arrêts, après avoir lancé gdb, donc si tu passes par le terminal pour
lancer directement la commande gdb, il faudra mettre les points d'arrêts
à la main.

Quelqu'un saurait comment changer ça? ou alors peut-être existe-il un
débuggueur plus adapté à ce type de code...


Utiliser l'interface de débogage d'XCode.

Merci d'avance,


de rien

--
Schmurtz

Avatar
Arthur VIGAN
J'utilise XCode et j'ai installé le module pour qu'il accepte les
fichiers en assembleur (.s), mais quand je mets des points d'arrêt dans
le code en assembleur et que je lance GDB, celui-ci ne s'arrêtes pas...


C'est normal, si tu lance gdb directement, et non en le lançant par le
débogueur d'XCode. C'est XCode qui demande à gdb de mettre les points
d'arrêts, après avoir lancé gdb, donc si tu passes par le terminal pour
lancer directement la commande gdb, il faudra mettre les points d'arrêts
à la main.


Je me suis mal exprimé: je fais tout dans XCode. Si je met les points
d'arrêt dans XCode et que j'invoque GDB depuis XCode, il saute les
points d'arrêt dans le code en assembleur.
Si je lance GDB depuis le terminal, que je rajoute point d'arrêt au
début de mon code en assembleur depuis GDB, et que je lance mon
programme dans GDB, il s'arrête, mais il me dit ça:

Breakpoint 1, 0x00001d68 in test ()

Jusque là tout va bien (ma fonction en assembler s'appelle "test"). Si
j'essaye d'avancer dans l'exécution du programme en tapant step:

Single stepping until exit from function test,
which has no line number information.
0x00001d30 in main ()

Si je comprend bien, il ne paut pas faire de step dans la fonction en
assembleur, et du coup il sort directement (et je me retrouve dans le
main...)

-- Arthur;