2012-03-08 18 views
6

Ho letto this article su alcune basi di basso livello di C/C++ e l'autore ci mostra fondamentalmente attraverso il codice assembly generato dal compilatore, riga per riga. Sta usando VS 2010, ma io no, io uso Code :: Blocks. Come posso vedere lo smontaggio qui? Quando vado al debugger, e fare clic su smontaggio, mi mostra una finestra vuota ...Come visualizzare lo smontaggio in Code :: Blocks?

Questo è il C++ (cpp) Codice (tutto il codice) ho compilato:

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

    z = x + y; 

    return 0; 
} 
+1

Se si è interessati solo all'assemblaggio e non ai blocchi di codice in particolare, è possibile utilizzare 'gcc -S' e verrà generato un file di assembly sulle righe di * .s, * .asm –

+0

Cool, verrà avviato Linux e farlo. Ma mi piacerebbe sapere come farlo. – corazza

risposta

6

Il tipo di lo smontaggio che l'autore mostra nell'articolo è chiamato inter-leaved disassembly (C e smontaggio interlacciato) che alcuni IDE come il supporto di Visual Studio. Code Blocks non supporta. Ma il codice blocchi ha una finestra di smontaggio separata come questo

Diassembly Window

Selezionare una linea sorgente. Clic destro. Dì Run to Cursor. Ora Debug->Debugging Windows->Disassembly. Invece di Run to cursor puoi anche impostare i break point e poi farlo. Ma in qualche modo non stava andando bene con il mio, quindi sto suggerendo il metodo Run to Cursor.

Spero che aiuti.

+0

Non riesco a trovare il comando 'Esegui su cursore'. – corazza

+1

OK. Consente la sincronizzazione dall'inizio. Ho eliminato i blocchi di codice da qui- http://sourceforge.net/projects/codeblocks/files/Binaries/10.05/Windows/codeblocks-10.05mingw-setup.exe/download 'File-> Nuovo-> Progetto-> Applicazione console -> C++ -> Inserisci il titolo del progetto-> GNU GCC Compiler-> Finish' Ora, 'Build-> Build'. Ora posiziona il cursore @ line 7 in 'main.cpp'. Fare clic con il pulsante destro del mouse e pronunciare "Esegui verso il cursore". Ora una finestra pop-up chiede se vuoi salvare la prospettiva. Dì di no! Ora, fare come spiegato nella risposta –

+0

Cool. Scarica ... – corazza

Problemi correlati