.reload (Módulo Volver a cargar)
El comando .reload elimina toda la información de símbolos del módulo especificado y vuelve a cargar estos símbolos según sea necesario. En algunos casos, este comando también recarga o descarga el propio módulo.
.reload [Options] [Module[=Address[,Size[,Timestamp]]]]
.reload -?
Parámetros
Opciones Cualquiera de las siguientes opciones:
/d
Vuelva a cargar todos los módulos de la lista de módulos del depurador. (Cuando se omiten todos los parámetros, esta situación es la predeterminada durante la depuración en modo de usuario).
/f
Obliga al depurador a cargar inmediatamente los símbolos. Este parámetro invalida la carga de símbolos diferidos. Para obtener más información, vea la sección Comentarios que se muestra más adelante.
/i
Omite un error de coincidencia en las versiones de archivo .pdb. (Si no incluye este parámetro, el depurador no carga archivos de símbolos no coincidente). Cuando usa /i,también se usa /f incluso si no se especifica explícitamente.
/l
Enumera los módulos, pero no vuelve a cargar los símbolos. (En el modo kernel, este parámetro proporciona una salida similar al comando lm.)
/n
Solo recarga los símbolos de kernel. Este parámetro no vuelve a cargar ningún símbolo de usuario. (Esta opción solo se puede usar durante la depuración en modo kernel).
/o
Obliga a sobrescribir los archivos almacenados en caché en el almacén de bajada de un servidor de símbolos. Al usar esta marca, también debe incluir /f. De forma predeterminada, los archivos de almacén de bajada nunca se sobrescriben.
Dado que el servidor de símbolos usa nombres de archivo distintos para los símbolos de cada compilación diferente de un binario, no debe usar esta opción a menos que crea que el almacén de bajada se ha dañado.
/s
Recarga todos los módulos de la lista de imágenes del módulo del sistema. (Cuando se omiten todos los parámetros, esta situación es la predeterminada durante la depuración en modo kernel).
Si va a cargar un módulo de sistema individual por su nombre mientras realiza la depuración en modo de usuario, debe incluir /s.
/u
Descarga el módulo especificado y todos sus símbolos. El depurador descarga cualquier módulo cargado cuyo nombre coincida con Module, independientemente de la ruta de acceso completa. También se buscan nombres de imágenes. Para obtener más información, vea la nota en la sección Comentarios que se muestra más adelante.
/unl
Vuelve a cargar símbolos basados en la información de imagen de la lista de módulos descargados.
/user
Recarga solo los símbolos de usuario. (Esta opción solo se puede usar durante la depuración en modo kernel).
/v
Activa el modo detallado.
/w
Trata al módulo como una cadena literal. Este tratamiento impide que el depurador expanda caracteres comodín.
Módulo
Especifica el nombre de una imagen en el sistema de destino para el que se van a volver a cargar símbolos en el equipo host. Module debe incluir el nombre y la extensión de nombre del archivo. A menos que use la opción /w , Module puede contener una variedad de caracteres comodín y especificadores. Para obtener más información sobre la sintaxis, consulte Sintaxis de caracteres comodín de cadena. Si omite Module, el comportamiento del comando .reload depende de las Opciones que use.
Dirección
Especifica la dirección base del módulo. Normalmente, debe tener esta dirección solo si el encabezado de imagen está dañado o está paginado.
Tamaño
Especifica el tamaño de la imagen del módulo. En muchas situaciones, el depurador conoce el tamaño correcto del módulo. Cuando el depurador no conoce el tamaño correcto, debe especificar Size. Este tamaño puede ser el tamaño real del módulo o un número mayor, pero el tamaño no debe ser un número menor. Normalmente, debe tener este tamaño solo si el encabezado de imagen está dañado o está paginado.
Timestamp
Especifica la marca de tiempo de la imagen del módulo. En muchas situaciones, el depurador conoce la marca de tiempo correcta del módulo. Cuando el depurador no conoce las marcas de tiempo, debe especificar Timestamp. Normalmente, debe tener esta marca de tiempo solo si el encabezado de imagen está dañado o está paginado.
Nota No debe haber ningún espacio en blanco entre los parámetros Address, Size, y Timestamp.
-?
Muestra un breve texto de ayuda para este comando.
Entorno
Elemento | Descripción |
---|---|
Modos | Modo de usuario, modo kernel |
Destinos | En tiempo real, volcado de errores |
Platforms | All |
Información adicional
Para obtener más información sobre la carga de símbolos aplazados (diferidos), consulte Carga aplazada de símbolos. Para obtener más información sobre otras opciones de símbolos, consulte Establecer opciones de símbolos.
Comentarios
El comando .reload no hace que se lea la información de símbolos. En su lugar, este comando permite al depurador saber que los archivos de símbolos podrían haber cambiado o que se debe agregar un nuevo módulo a la lista de módulos. Este comando hace que el depurador revise la lista de módulos y elimine la información de símbolos para los módulos especificados. La información del símbolo real no se lee de los archivos .pdb individuales hasta que se necesite la información. (Este tipo de carga se conoce como carga de símbolos diferidos o carga aplazada de símbolos.)
Puede forzar la carga de símbolos para que se produzca mediante la opción /f o mediante la emisión de un comando ld (Cargar símbolos).
El comando .reload es útil si el sistema deja de responder (es decir, se bloquea), lo que puede hacer que pierda símbolos para el equipo de destino que se está depurando. El comando también puede ser útil si ha actualizado el árbol de símbolos.
Si el encabezado de imagen es incorrecto por algún motivo, como el módulo que se descarga o se pagina, puede cargar símbolos correctamente mediante el argumento /unl, o especificando Address y Size.
El comando .reload /u realiza una búsqueda amplia. El depurador primero intenta hacer coincidir Module con un nombre de módulo exacto, independientemente de la ruta de acceso. Si el depurador no encuentra esta coincidencia, Module se trata como el nombre de la imagen cargada. Por ejemplo, si el HAL que reside en la memoria tiene el nombre de módulo de halacpi.dll, los dos comandos siguientes descargan sus símbolos.
kd> .reload /u halacpi.dll
kd> .reload /u hal
Si va a realizar la depuración en modo de usuario y desea cargar un módulo que no forme parte de la lista de módulos de la aplicación de destino, debe incluir la opción /s , como se muestra en el ejemplo siguiente.
0:000> .reload /u ntdll.dll
Unloaded ntdll.dll
0:000> .reload /s /f ntdll.dll