Condividi tramite


Ricaricamento (modulo ricaricamento)

Il comando .reload elimina tutte le informazioni sui simboli per il modulo specificato e ricarica questi simboli in base alle esigenze. In alcuni casi, questo comando ricarica o scarica il modulo stesso.

.reload [Options] [Module[=Address[,Size[,Timestamp]]]] 
.reload -?

Parametri

Opzioni Una delle opzioni seguenti:

/d
Ricaricare tutti i moduli nell'elenco dei moduli del debugger. Quando si omettono tutti i parametri, questa situazione è l'impostazione predefinita durante il debug in modalità utente.

/f
Forza il debugger a caricare immediatamente i simboli. Questo parametro esegue l'override del caricamento di simboli lazy. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

/i
Ignora una mancata corrispondenza nelle versioni del file con estensione pdb. Se non si include questo parametro, il debugger non carica i file di simboli non corrispondenti. Quando si usa /i, viene usato anche /f , anche se non viene specificato in modo esplicito.

/l
Elenca i moduli ma non ricarica i relativi simboli. (In modalità kernel questo parametro fornisce un output simile al Comando lm .

/n
Ricarica solo i simboli del kernel. Questo parametro non ricarica i simboli utente. È possibile usare questa opzione solo durante il debug in modalità kernel.

/o
Forza la sovrascrittura dei file memorizzati nella cache nell'archivio downstream di un server di simboli. Quando si usa questo flag, è necessario includere anche /f. Per impostazione predefinita, i file dell'archivio downstream non vengono mai sovrascritti.

Poiché il server dei simboli usa nomi di file distinti per i simboli di ogni compilazione diversa di un file binario, non è necessario usare questa opzione a meno che non si ritiene che l'archivio downstream sia danneggiato.

/s
Ricarica tutti i moduli nell'elenco di immagini del modulo del sistema. Quando si omettono tutti i parametri, questa situazione è l'impostazione predefinita durante il debug in modalità kernel.

Se si carica un singolo modulo di sistema in base al nome durante l'esecuzione del debug in modalità utente, è necessario includere /s.

/u
Scarica il modulo specificato e tutti i relativi simboli. Il debugger scarica qualsiasi modulo caricato il cui nome corrisponde a Module, indipendentemente dal percorso completo. Vengono inoltre cercati i nomi delle immagini. Per altre informazioni, vedere la nota nella sezione Osservazioni seguente.

/Unl
Ricarica i simboli in base alle informazioni sull'immagine nell'elenco dei moduli scaricati.

/utente
Ricarica solo i simboli utente. È possibile usare questa opzione solo durante il debug in modalità kernel.

/v
Attiva la modalità dettagliata.

/w
Considera Module come stringa letterale. Questo trattamento impedisce al debugger di espandere caratteri jolly.

Modulo
Specifica il nome di un'immagine nel sistema di destinazione per cui ricaricare i simboli nel computer host. Il modulo deve includere il nome e l'estensione del nome file del file. A meno che non si usi l'opzione /w , Module potrebbe contenere un'ampia gamma di caratteri jolly e identificatori. Per altre informazioni sulla sintassi, vedere Sintassi stringhe con caratteri jolly. Se si omette Module, il comportamento del comando .reload dipende dalle opzioni usate.

Indirizzo
Specifica l'indirizzo di base del modulo. In genere, è necessario avere questo indirizzo solo se l'intestazione dell'immagine è stata danneggiata o viene visualizzata una pagina.

Grandezza
Specifica le dimensioni dell'immagine del modulo. In molte situazioni, il debugger conosce le dimensioni corrette del modulo. Quando il debugger non conosce le dimensioni corrette, è necessario specificare Dimensioni. Queste dimensioni possono essere le dimensioni effettive del modulo o un numero maggiore, ma le dimensioni non devono essere un numero minore. In genere, è necessario avere questa dimensione solo se l'intestazione dell'immagine è stata danneggiata o viene visualizzata una pagina.

Timestamp
Specifica il timestamp dell'immagine del modulo. In molte situazioni, il debugger conosce il timestamp corretto del modulo. Quando il debugger non conosce i timestamp, è necessario specificare Timestamp. In genere, è necessario avere questo timestamp solo se l'intestazione dell'immagine è stata danneggiata o viene visualizzata una pagina.

Nota Non deve essere presente spazio vuoto tra i parametri Address, Size e Timestamp .

-?
Visualizza un breve testo della Guida per questo comando.

Ambiente

Articolo Descrizione
Modalità Modalità utente, modalità kernel
Target Live, crash dump
Piattaforme Tutte le date

Informazioni aggiuntive

Per altre informazioni sul caricamento posticipato (differito) dei simboli, vedere Caricamento posticipato dei simboli. Per altre informazioni sulle altre opzioni dei simboli, vedere Impostazione delle opzioni dei simboli.

Osservazioni:

Il comando .reload non causa la lettura delle informazioni sui simboli. Questo comando consente invece al debugger di sapere che i file di simboli potrebbero essere stati modificati o che un nuovo modulo deve essere aggiunto all'elenco dei moduli. Questo comando fa in modo che il debugger riveda l'elenco dei moduli ed elimini le relative informazioni sui simboli per i moduli specificati. Le informazioni effettive sul simbolo non sono lette dai singoli file con estensione pdb fino a quando non sono necessarie le informazioni. Questo tipo di caricamento è noto come caricamento di simboli differiti o caricamento posticipato dei simboli.

È possibile forzare il caricamento dei simboli usando l'opzione /f o eseguendo un comando ld (Carica simboli).

Il comando .reload è utile se il sistema smette di rispondere (ovvero arresti anomali), causando la perdita di simboli per il computer di destinazione di cui è in corso il debug. Il comando può essere utile anche se l'albero dei simboli è stato aggiornato.

Se l'intestazione dell'immagine non è corretta per qualche motivo, ad esempio il modulo in fase di scaricamento o viene eseguito il paging, è possibile caricare correttamente i simboli usando l'argomento /unl o specificando sia Address che Size.

Il comando .reload /u esegue una ricerca generale. Il debugger tenta prima di tutto di associare Module con un nome di modulo esatto, indipendentemente dal percorso. Se il debugger non riesce a trovare questa corrispondenza, Module viene considerato come il nome dell'immagine caricata. Ad esempio, se l'HAL che risiede in memoria ha il nome del modulo di halacpi.dll, entrambi i comandi seguenti scaricano i relativi simboli.

kd> .reload /u halacpi.dll

kd> .reload /u hal

Se si esegue il debug in modalità utente e si vuole caricare un modulo che non fa parte dell'elenco di moduli dell'applicazione di destinazione, è necessario includere l'opzione /s , come illustrato nell'esempio seguente.

0:000> .reload /u ntdll.dll
Unloaded ntdll.dll

0:000> .reload /s /f ntdll.dll