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...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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...
[] 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
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;
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...)
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...)