48 votes

Voir à la fois l'assemblage et le code C

Avons-nous un moyen d'afficher le code assembleur et c à la fois en utilisant gdb.

disassemble function_name affiche uniquement l'assembly, j'essayais de trouver un moyen de mapper facilement le code c à l'assembly. Merci

43voto

Yorkwar Points 305

Essayez disassemble /m .

Reportez-vous à http://sourceware.org/gdb/current/onlinedocs/gdb/Machine-Code.html#Machine-Code

Le format est similaire à celui de objdump -S , et mélange la source avec le désassemblage. Exemple d'extrait de sortie :

 10      int i = 0;
=> 0x0000000000400536 <+9>: movl   $0x0,-0x14(%rbp)

11      while (1) {
12          i++;
   0x000000000040053d <+16>:    addl   $0x1,-0x14(%rbp)

9voto

chris Points 81

Pour votre objectif, essayez

 objdump -S <your_object_file>

de man objdump :

 -S
--source
 Display source code intermixed with disassembly, if possible.
 Implies -d.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X