Debug del codice assembly in WinDbg (versione classica)

In WinDbg è possibile visualizzare il codice dell'assembly immettendo comandi o usando la finestra Disassembly.

Finestra di comando del debugger

È possibile visualizzare il codice dell'assembly immettendo uno dei comandi u, ub, uu (Unassemble) nella finestra Di comando del debugger.

Finestra disasembly

Per aprire o passare alla finestra Disassembly, scegliere Dissasembly dal menu Visualizza . (È anche possibile premere ALT+7 o selezionare il Pulsante Disassembly sulla barra degli strumenti. ALT+MAIUSC+7 chiuderà la finestra disassembly.

La schermata seguente mostra un esempio di finestra Disassembly.

Screenshot della finestra Disassembly in WinDbg.

Il debugger accetta una sezione di memoria, lo interpreta come istruzioni del computer binario e quindi lo disassembla per produrre una versione in linguaggio assembly delle istruzioni del computer. Il codice risultante viene visualizzato nella finestra Disassembly .

Nella finestra Disassembly è possibile eseguire le operazioni seguenti:

  • Per disassemblare una sezione diversa della memoria, nella casella Offset digitare l'indirizzo della memoria da disassemblare. È possibile premere INVIO dopo aver digitato l'indirizzo, ma non è necessario. La finestra Disassembly visualizza il codice prima di aver completato l'indirizzo; è possibile ignorare questo codice.

  • Per visualizzare altre sezioni di memoria, selezionare i pulsanti Indietro o Avanti oppure premere i tasti PAGINA SU o PAGINA GIÙ. Questi comandi visualizzano rispettivamente il codice disassemblato delle sezioni precedenti o seguenti della memoria. Premendo i tasti FRECCIA DESTRA, FRECCIA SINISTRA, FRECCIA SU e FRECCIA GIÙ, è possibile spostarsi all'interno della finestra. Se si usano queste chiavi per spostarsi dalla pagina, verrà visualizzata una nuova pagina.

La finestra Disassembly include una barra degli strumenti che contiene due pulsanti e un menu di scelta rapida con comandi aggiuntivi. Per accedere al menu, selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) sulla barra del titolo o selezionare l'icona visualizzata accanto all'angolo superiore destro della finestra. L'elenco seguente descrive alcuni dei comandi di menu.

  • Passare all'indirizzo corrente apre la finestra Origine con il file di origine che corrisponde alla riga selezionata nella finestra Disassembly ed evidenzia questa riga.

  • Disassemble prima dell'istruzione corrente fa sì che la riga corrente venga posizionata al centro della finestra Disassembly. Questo comando è l'opzione predefinita. Se questo comando viene cancellato, la riga corrente verrà visualizzata nella parte superiore della finestra Disassembly, che consente di risparmiare tempo perché il disassembly inverso può richiedere molto tempo.

  • Evidenzia le istruzioni della riga di origine corrente determina l'evidenziazione di tutte le istruzioni corrispondenti alla riga di origine corrente. Spesso, una singola riga di origine corrisponderà a più istruzioni di assembly. Se il codice è stato ottimizzato, queste istruzioni di assembly potrebbero non essere consecutive. Questo comando consente di trovare tutte le istruzioni assemblate dalla riga di origine corrente.

  • Mostra riga di origine per ogni istruzione visualizza il numero di riga di origine corrispondente a ogni istruzione di assembly.

  • Mostra il file di origine per ogni istruzione visualizza il nome del file di origine corrispondente a ogni istruzione dell'assembly.

Vedi anche

Per altre informazioni sul debug degli assembly e sui comandi correlati e una spiegazione completa della visualizzazione dell'assembly, vedere Debug in modalità assembly.