Condividi tramite


Visualizzazione e modifica della memoria in WinDbg (versione classica)

In WinDbg è possibile visualizzare e modificare la memoria immettendo comandi o usando una finestra Memoria.

Finestra comando debugger

È possibile visualizzare la memoria immettendo uno dei comandi Visualizza memoria nella finestra Comando debugger. È possibile modificare la memoria immettendo uno dei comandi Invio valori nella finestra Comando debugger. Per altre informazioni, vedere Accesso alla memoria per indirizzo virtuale e accesso alla memoria in base all'indirizzo fisico.

Apertura di una finestra Memoria

Per aprire una finestra Memoria, scegliere Memoria dal menu Visualizza . È anche possibile premere ALT+5 o selezionare il pulsante Memoria (Screenshot del pulsante Memoria in WinDbg).

La schermata seguente mostra un esempio di finestra Memoria.

Screenshot di una finestra di memoria di esempio in WinDbg.

Uso di una finestra di memoria

La finestra Memoria visualizza i dati in diverse colonne. La colonna a sinistra della finestra mostra l'indirizzo iniziale di ogni riga. Le colonne rimanenti visualizzano le informazioni richieste, da sinistra a destra. Se si seleziona Byte nel menu Formato visualizzato , i caratteri ASCII corrispondenti a questi byte vengono visualizzati sul lato destro della finestra.

Nota Per impostazione predefinita, la finestra Memoria visualizza la memoria virtuale. Questo tipo di memoria è l'unico tipo di memoria disponibile in modalità utente. In modalità kernel è possibile usare la finestra di dialogo Opzioni memoria per visualizzare la memoria fisica e altri spazi di dati. La finestra di dialogo Opzioni memoria viene descritta più avanti in questo argomento.

Nella finestra Memoria è possibile eseguire le operazioni seguenti:

  • Per scrivere in memoria, selezionare all'interno della finestra Memoria e digitare nuovi dati. È possibile modificare solo i dati esadecimali: non è possibile modificare direttamente i caratteri ASCII e Unicode. Le modifiche si applicano non appena si digitano nuove informazioni.

  • Per visualizzare altre sezioni di memoria, usare i pulsanti Precedente e Avanti sulla barra degli strumenti della finestra Memoria oppure premere i tasti PAGE UP o PAGE DOWN. Questi pulsanti e tasti visualizzano immediatamente le sezioni precedenti o seguenti di memoria. Se si richiede una pagina non valida, viene visualizzato un messaggio di errore.

  • Per spostarsi all'interno della finestra, usare i tasti FRECCIA DESTRA, FRECCIA SINISTRA, FRECCIA SU e FRECCIA GIÙ. Se si usano queste chiavi per spostarsi dalla pagina, viene visualizzata una nuova pagina. Prima di usare queste chiavi, è necessario ridimensionare la finestra Memoria in modo che non disponga di barre di scorrimento. Questo ridimensionamento consente di distinguere tra il bordo pagina effettivo e il taglio della finestra.

  • Per modificare il percorso di memoria visualizzato, immettere un nuovo indirizzo nella casella indirizzi nella parte superiore della finestra Memoria. Si noti che la finestra Memoria aggiorna la visualizzazione mentre si immette un indirizzo, quindi è possibile ottenere messaggi di errore prima di aver completato la digitazione dell'indirizzo.

    Nota L'indirizzo immesso nella casella viene interpretato nel radix corrente. Se il radix corrente non è 16, è necessario prefisso un indirizzo esadecimale con 0x. Per modificare il radix predefinito, usare il comando n (Set Number Base) nella finestra Comando debugger. La visualizzazione all'interno della finestra Memoria stessa non è influenzata dal radix corrente.

  • Per modificare il tipo di dati usato dalla finestra per visualizzare la memoria, usare il menu Formato visualizzato nella barra degli strumenti della finestra Memoria. I tipi di dati supportati includono parole brevi, parole doppie e parole quad; interi brevi, lunghi e quad e interi senza segno; Numeri reali a 10 byte, 16 byte, 32 bit e numeri reali a 64 bit; Caratteri ASCII; Caratteri Unicode; ed esadecimale byte. La visualizzazione dei byte esadecimali include anche caratteri ASCII.

La finestra Memoria include una barra degli strumenti contenente due pulsanti, un menu e una casella 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 accanto all'angolo in alto a destra della finestra sulla barra degli strumenti. ALT+MAIUSC+5 chiude la finestra memoria attiva.

  • (solo barra degli strumenti) La casella indirizzi consente di specificare un nuovo indirizzo o un offset. Il significato esatto di questa casella dipende dal tipo di memoria visualizzato. Ad esempio, se si visualizza memoria virtuale, la casella consente di specificare un nuovo indirizzo virtuale o un offset.

  • (solo barra degli strumenti) Il formato di visualizzazione consente di selezionare un nuovo formato di visualizzazione.

  • (Barra degli strumenti e menu) Precedente (sulla barra degli strumenti) e Pagina precedente (nel menu di scelta rapida) causa la visualizzazione della sezione precedente della memoria.

  • (Barra degli strumenti e menu) Successivamente (sulla barra degli strumenti) e Pagina Successiva (nel menu di scelta rapida) causa la visualizzazione della sezione successiva della memoria.

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

  • (solo menu) Le colonne di adattamento automatico garantiscono che il numero di colonne visualizzate nella finestra Memoria corrisponda alla larghezza della finestra Memoria.

  • (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 Memoria e la apre in un nuovo ancoraggio.

  • (solo menu) Impostare come destinazione tab-dock per il tipo di finestra imposta la finestra Memoria selezionata come destinazione tab-dock per altre finestre di memoria. Tutte le finestre di memoria aperte dopo che una viene scelta come destinazione tab-dock vengono raggruppate automaticamente con tale finestra in una raccolta a schede.

  • (solo menu) Sempre mobile la finestra rimane non ancorata 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 non è ancorata.

  • (solo menu) Le proprietà apre la finestra di dialogo Opzioni memoria , descritta nella sezione seguente all'interno di questo argomento.

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

  • (solo menu) Chiudi questa finestra.

Finestra di dialogo Opzioni memoria

Quando si seleziona Proprietà nel menu di scelta rapida, viene visualizzata la finestra di dialogo Opzioni memoria .

In modalità kernel sono disponibili sei tipi di memoria come schede in questa finestra di dialogo: memoria virtuale, memoria fisica, dati del bus, dati di controllo, I/O (informazioni sulla porta I/O ) e MSR (informazioni sul registro specifiche del modello). Selezionare la scheda corrispondente alle informazioni a cui si vuole accedere.

In modalità utente è disponibile solo la scheda Memoria virtuale .

Ogni scheda consente di specificare la memoria da visualizzare:

  • Nella scheda Memoria virtuale , nella casella Offset specificare l'indirizzo o l'offset dell'inizio dell'intervallo di memoria da visualizzare.

  • Nella scheda Memoria fisica specificare l'indirizzo fisico dell'inizio dell'intervallo di memoria da visualizzare nella casella Offset . La finestra Memoria può visualizzare solo la memoria fisica memorizzata nella cache. Se si vuole visualizzare la memoria fisica con altri attributi, usare il comando d* (Display Memory) o l'estensione !d\* .

  • Nella scheda Dati del bus, nel menu Tipo di dati del bus specificare il tipo di dati del bus. Usare quindi le caselle Numero bus, Numero slot e Offset per specificare i dati del bus da visualizzare.

  • Nella scheda Dati di controllo usare le caselle di testo Processore e Offset per specificare i dati di controllo da visualizzare.

  • Nella scheda I/O , nel menu Tipo di interfaccia specificare il tipo di interfaccia I/O. Usare le caselle Numero bus, Spazio indirizzi e Offset per specificare i dati da visualizzare.

  • Nella scheda MSR , nella casella MSR specificare il registro specifico del modello da visualizzare.

Ogni scheda include anche un menu Formato visualizzazione . Questo menu ha lo stesso effetto del menu Visualizza formato nella finestra Memoria.

Selezionare OK nella finestra di dialogo Opzioni memoria per causare l'effetto delle modifiche.

Informazioni aggiuntive

Per altre informazioni sulla manipolazione della memoria e una descrizione di altri comandi correlati alla memoria, vedere Lettura e scrittura della memoria.