Condividi tramite


Procedura: utilizzare la finestra Disassembly

Aggiornamento: novembre 2007

Le informazioni contenute in questo argomento sono valide per:

Edition

Visual Basic

C#

C++

Web Developer

Express

Argomento non applicabile Argomento non applicabile Argomento applicabile Argomento non applicabile

Standard

Argomento valido ma comando nascosto per impostazione predefinita Argomento applicabile Argomento applicabile Argomento applicabile

Pro e Team

Argomento valido ma comando nascosto per impostazione predefinita Argomento applicabile Argomento applicabile Argomento applicabile

Legenda tabella:

Argomento applicabile

Applicabile

Argomento non applicabile

Non applicabile

Argomento valido ma comando nascosto per impostazione predefinita

Comando o comandi nascosti per impostazione predefinita.

Questa funzionalità è disponibile solo se il debug a livello di indirizzo è stato attivato nella finestra di dialogo Opzioni, nodo Debug. Non è invece disponibile per il debug di script o SQL.

Nella finestra Disassembly viene visualizzato il codice assembly corrispondente alle istruzioni create dal compilatore. Se si sta eseguendo il debug di codice gestito, tali istruzioni in linguaggio assembly corrispondono al codice nativo creato dal compilatore JIT (Just-In-Time), non al linguaggio MSIL (Microsoft Intermediate Language) generato dal compilatore di Visual Studio.

Oltre alle istruzioni in linguaggio assembly, nella finestra Disassembly possono essere visualizzate le seguenti informazioni facoltative:

  • L'indirizzo di memoria in cui si trova ciascuna istruzione. Per applicazioni native, si tratta dell'indirizzo di memoria effettivo. Per Visual Basic, C# o codice gestito, si tratta dell'offset dall'inizio della funzione.

  • Codice sorgente dal quale deriva il codice assembly.

  • Byte del codice: rappresentazioni in byte delle effettive istruzioni in linguaggio macchina o MSIL.

  • Nomi di simboli per gli indirizzi di memoria.

  • Numeri di riga corrispondenti al codice sorgente.

Le istruzioni in linguaggio assembly sono costituite da elementi mnemonici, che sono abbreviazioni di nomi di istruzioni e simboli che rappresentano variabili, registri e costanti. Ogni istruzione in linguaggio macchina è rappresentata da un elemento mnemonico in linguaggio assembly, seguito in genere da una o più variabili, registri o costanti.

Se non si è in grado di leggere il linguaggio assembly e si desidera sfruttare appieno i vantaggi della finestra Disassembly, consultare un buon manuale sulla programmazione in linguaggio assembly. Tale argomento esula dallo scopo di questa breve introduzione alla finestra Disassembly.

Dal momento che il codice assembly si basa in modo rilevante sui registri del processore o, nel caso di codice gestito, sui registri di Common Language Runtime, sarà particolarmente vantaggioso utilizzare la finestra Disassembly insieme alla finestra Registri, in cui può essere esaminato il contenuto dei registri.

È poco probabile che si abbia desiderio o necessità di visualizzare istruzioni in linguaggio macchina nel loro formato numerico non elaborato anziché in formato di linguaggio assembly. Tuttavia, qualora ciò fosse necessario, sarà possibile utilizzare la finestra Memoria o scegliere Mostra byte del codice dal menu di scelta rapida della finestra Disassembly.

Nota:

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida in linea a seconda delle impostazioni attive o dell'edizione del programma. Per modificare le impostazioni, scegliere Importa/esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Impostazioni di Visual Studio.

Per visualizzare la finestra Disassembly

  • Scegliere Finestre dal menu Debug, quindi fare clic su Disassembly.

    Il debugger deve essere in esecuzione o in modalità di interruzione.

Per attivare o disattivare la visualizzazione delle informazioni opzionali

  • Fare clic con il pulsante destro del mouse sulla finestra Disassembly e selezionare o deselezionare le opzioni desiderate dal menu di scelta rapida.

    Una freccia gialla sul margine sinistro indica la posizione del punto di esecuzione corrente. Per il codice nativo la posizione corrisponde al contatore di programma della CPU. Questo indicatore mostra l'istruzione successiva che verrà eseguita dal programma.

    Per ulteriori informazioni, vedere Spostamento verso l'alto o verso il basso di una pagina di memoria.

Vedere anche

Attività

Procedura: utilizzare la finestra Registri

Concetti

Visualizzazione di dati nel debugger