2011-08-25 5 views

risposta

23

all'interno di Visual Studio, andare alle pagine di proprietà per il vostro progetto, poi vai a C/C++ → Output Files → Assembler Output. Esso dovrebbe essere simile a questo:

property page

Nota corrispondenti opzioni del compilatore, tutte le varianti di /FA.

  • /FA: Assembly-Only Listing
  • /FAcs: Assemblea, Codice Macchina e Source
  • /FAc: montaggio con Codice Macchina
  • /FAs: Assemblea con il codice sorgente

Sotto la " Opzione "Assembler Output" è un'opzione "Posizione elenco ASM". Questo è equivalente allo switch /Fa (nota in maiuscolo!) E imposta il percorso del file dell'elenco di output.

È anche possibile esaminare l'assieme durante il debug (in un punto di interruzione), completo del codice sorgente corrispondente, facendo clic con il pulsante destro del mouse sulla riga corrente nell'area di testo del file di origine e facendo clic su "Vai a disassemblaggio".

gotodisassembly

Sarà saltare al montaggio presso la linea che si fa click destro su di una scheda separata. L'elenco sarà simile a questo:

enter image description here

Sì, lo so, gli screenshot non sono da Visual Studio 2010, ma i passi e l'aspetto generale sono gli stessi. Semplicemente non ho accesso immediato a VS2010 per creare schermate. :-)

+0

Questa risposta è _awesome_. Tuttavia, credo che quando l'hai fatto l'output dell'assembler, credo che non crei binari. Se ricordo bene, dovresti annotarlo da qualche parte. –

+0

@MooingDuck: questo è vero per un'esecuzione separata del preprocessore (/ P), ma almeno in VC2010, le varianti/FA continuano a generare binari. –

7

Per un progetto C++, compilare con /FA per ottenere un elenco di assemblaggio.

Per assembly .NET, c'è ildasm.

1

per NET è possibile utilizzare lo strumento ildasm che viene fornito con il quadro per visualizzare l'IL.