Visualizzazione e modifica dei registri in WinDbg (versione classica)

I registri sono piccole unità di memoria volatili che si trovano nella CPU. Molti registri sono dedicati a usi specifici e altri registri sono disponibili per le applicazioni in modalità utente da usare. I processori basati su x86 e x64 dispongono di raccolte diverse di registri disponibili. Per altre informazioni sui registri in ogni processore, vedere Architettura del processore.

In WinDbg è possibile visualizzare e modificare i registri immettendo i comandi, usando la finestra Registri o usando la finestra Watch Window.

Comandi

È possibile visualizzare e modificare i registri immettendo il comando r (Registri) nella finestra Comando debugger. È possibile personalizzare la visualizzazione usando diverse opzioni o usando il comando rm (Register Mask).

I registri vengono inoltre visualizzati automaticamente ogni volta che la destinazione si arresta. Se si esegue l'esecuzione del codice con i comandi p (passaggio) o t (traccia), viene visualizzato un registro in ogni passaggio. Per arrestare questa visualizzazione, usare l'opzione r quando si usano questi comandi.

In un processore basato su x86, l'opzione r controlla anche diversi registri a bit noti come flag. Per modificare questi flag, si usa una sintassi leggermente diversa rispetto alla modifica dei registri regolari. Per altre informazioni su questi flag e una spiegazione di questa sintassi, vedere Flag x86.

Finestra Registri

Apertura della finestra Registri

Per aprire o passare alla finestra Registri, scegliere Registra dal menu Visualizza . È anche possibile premere ALT+4 o selezionare il pulsante Registra sulla barra degli strumenti. ALT+MAIUSC+4 chiude la finestra Registri.

La schermata seguente mostra un esempio di finestra Registri.

Screenshot della finestra Registri in WinDbg.

La finestra Registers contiene due colonne. La colonna Reg elenca tutti i registri per il processore di destinazione. La colonna Valore visualizza il valore corrente di ogni registro. Questa finestra contiene anche un pulsante Personalizza sulla barra degli strumenti che apre la finestra di dialogo Personalizza elenco registri .

Uso della finestra Registri

Nella finestra Registri è possibile eseguire le operazioni seguenti:

  • La colonna Valore visualizza il valore corrente di ogni registro. Il valore del registro modificato più di recente viene visualizzato in testo rosso.

    • Per immettere un nuovo valore, fare doppio clic su una cella Valore e quindi digitare un nuovo valore o modificare il valore precedente. I comandi taglia, copia e incolla sono disponibili per la modifica.
    • Per salvare il nuovo valore, premere INVIO.
    • Per eliminare il nuovo valore, premere ESC.
    • Se si digita un valore non valido, il valore precedente verrà restituito quando si preme INVIO.
  • I valori di registrazione vengono visualizzati nel radix corrente e è necessario digitare nuovi valori nello stesso radix. Per modificare il radix corrente, usare il comando n (Set Number Base) nella finestra Comando debugger.

  • In modalità utente, la finestra Registri visualizza i registri associati al thread corrente. Per altre informazioni sul thread corrente, vedere Controllo dei processi e dei thread.

  • In modalità kernel, la finestra Registri visualizza i registri associati al contesto di registrazione corrente. È possibile impostare il contesto di registrazione in modo che corrisponda a un thread, un record di contesto o un frame di trap specifico. Vengono visualizzati solo i registri più importanti per il contesto di registrazione specificato; non è possibile modificare i valori.

La finestra Registri include una barra degli strumenti che contiene un pulsante Personalizza e dispone di un menu di scelta rapida con comandi aggiuntivi. Per accedere al menu, selezionare e tenere premuto (fare clic con il pulsante destro del mouse) la barra del titolo o selezionare l'icona accanto all'angolo superiore destro della finestra (Screenshot dell'icona del pulsante per visualizzare il menu di scelta rapida della finestra Registri in WinDbg.

  • (Barra degli strumenti e menu) Personalizza apre la finestra di dialogo Personalizza elenco registri , descritta nella sezione seguente all'interno di questo argomento.

  • (solo menu) La barra degli strumenti attiva e disattiva la barra degli strumenti.

  • (solo menu) Dock o Undock causa l'immissione o l'uscita della finestra dallo stato ancorato.

  • (solo menu) Passare al nuovo ancoraggio chiude la finestra Registri e la apre in un nuovo ancoraggio.

  • (solo menu) Impostare come destinazione tab-dock per il tipo di finestra non è disponibile per la finestra Registri. Questa opzione è disponibile solo per le finestre di origine o memoria.

  • (solo menu) La finestra rimane sempre mobile anche se viene trascinata in una posizione di ancoraggio.

  • (solo menu) Lo spostamento con frame causa lo spostamento della finestra quando viene spostato il frame WinDbg, anche se la finestra viene annullata.

  • (solo menu) Verrà aperto questo argomento nella documentazione di Strumenti di debug per Windows.

  • (solo menu) Chiudi questa finestra.

Finestra di dialogo Personalizza elenco registri

Per modificare l'elenco dei registri visualizzati, selezionare il pulsante Personalizza . Verrà visualizzata la finestra di dialogo Personalizza elenco registri .

In questa finestra di dialogo è possibile modificare l'elenco dei registri per modificare l'ordine in cui vengono visualizzati i registri. Non è possibile eliminare effettivamente un registro dall'elenco. Se si esegue, verrà visualizzato nuovamente alla fine. È necessario disporre di uno spazio tra i nomi di registrazione.

Se si seleziona la casella di controllo Visualizza valori di registro modificati , il registro i cui valori sono stati modificati più di recente vengono visualizzati nella parte superiore.

Se si seleziona la casella di controllo Non visualizzare subregisters, i sottoprogisti non vengono visualizzati. Ad esempio, verrà visualizzato eax , ma non ax, ah o al.

Selezionare OK per salvare le modifiche o Annulla per eliminare le modifiche.

Se si esegue il debug di un computer con più processori con più tipi di processore, WinDbg archivia le impostazioni di personalizzazione per ogni tipo di processore separatamente. Questa separazione consente di personalizzare la visualizzazione dei registri di ogni processore contemporaneamente.

Finestra di controllo

In WinDbg è possibile usare la finestra Watch per visualizzare i registri. Non è possibile usare la finestra Watch per modificare i valori dei registri.

Per aprire la finestra Watch, scegliere Watch dal menu Visualizza . È anche possibile premere ALT+2 o selezionare il pulsante Watch sulla barra degli strumenti: screenshot del pulsante Watch in WinDbg.

La schermata seguente mostra un esempio di finestra Watch.

Screenshot della finestra Watch in WinDbg.

Vedi anche

Per altre informazioni sul contesto di registrazione e altre impostazioni di contesto, vedere Modifica dei contesti.