2012-03-08 2 views
6

J'ai lu this article à propos de quelques bas-fonds de C/C++, et l'auteur nous montre fondamentalement à travers le code assemblé généré par le compilateur, ligne par ligne. Il utilise VS 2010, mais je ne le fais pas, j'utilise Code :: Blocks. Comment puis-je voir le démontage là? Quand je vais au débogueur, et cliquez sur le démontage, il me montre une fenêtre vide ...Comment afficher le désassemblage dans Code :: Blocks?

C'est le C++ (Cpp) code (code entier) Je compilé:

int main() 
{ 
    int x = 1; 
    int y = 2; 
    int z = 0; 

    z = x + y; 

    return 0; 
} 
+1

Si vous êtes seulement intéressé par l'assemblage et pas les blocs de code en particulier, vous pouvez utiliser 'gcc -S' et il va générer un fichier d'assemblage sur les lignes de * .s, * .asm –

+0

Cool, je vais démarrer Linux et faites cela. Mais j'aimerais savoir comment faire ça. – corazza

Répondre

6

Le genre de désassemblage que l'auteur montre dans l'article est appelé inter-leaved disassembly (C et désassemblage entrelacé) que quelques IDE comme support de Visual Studio. Les blocs de code ne sont pas pris en charge. Mais les blocs de code a une fenêtre de démontage séparé comme celui-ci

Diassembly Window

Sélectionnez une ligne de source. Clic-droit. Dites Run to Cursor. Maintenant Debug->Debugging Windows->Disassembly. Au lieu de Run to cursor, vous pouvez également définir des points d'arrêt, puis procédez comme suit. Mais d'une certaine façon, ça ne se passait pas bien avec le mien, donc je suggère la méthode Run to Cursor.

Espérons que ça aide.

+0

Je ne trouve pas la commande 'Run to cursor'. – corazza

+1

OK. Permet de se synchroniser depuis le début. J'ai dérivé les blocs de code d'ici- http://sourceforge.net/projects/codeblocks/files/Binaries/10.05/Windows/codeblocks-10.05mingw-setup.exe/download 'Fichier-> Nouveau-> Projet-> Application console -> C++ -> Entrez le titre du projet-> GNU GCC Compiler-> Finish' Maintenant, 'Build-> Build'. Maintenant, placez le curseur @ ligne 7 dans 'main.cpp'. Clic droit et dire 'Run to Cursor'. Maintenant, une fenêtre pop-up vous demande si vous voulez enregistrer la perspective. Dis non! Maintenant, faites comme expliqué dans la réponse –

+0

Cool. Va télécharger ... – corazza