Select the product you need help with
Cómo utilizar el comprobador de controladores para solucionar problemas de controladores de WindowsId. de artículo: 244617 - Ver los productos a los que se aplica este artículo Este artículo se publicó anteriormente con el número E244617 Importante Este artículo contiene información acerca de cómo se modifica el Registro. Antes de modificar el Registro, asegúrese de hacer una copia de seguridad del mismo y de que sabe cómo restaurarlo si ocurre algún problema. Para obtener información sobre cómo realizar una copia de seguridad, restaurar y modificar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base: 256986
(http://support.microsoft.com/kb/256986/
)
Definición del Registro de Microsoft WindowsEn esta páginaResumen El comprobador de controladores se incluye en Windows 2000,
Windows XP y Windows Server 2003 para promover la estabilidad y confiabilidad;
puede utilizar esta herramienta para solucionar problemas de los controladores.
Los componentes en modo de núcleo de Windows pueden causar daños o errores en
el sistema como resultado de un controlador cuyo código se haya escrito
incorrectamente, como una versión anterior de un controlador del Modelo de
controlador de Windows (WDM, Windows Driver Model). En este artículo se
describe cómo utilizar el comprobador de controladores para aislar y solucionar
problemas de un controlador en el sistema. Más información En este artículo se tratan los siguientes temas:
Capacidades del comprobador de controladoresPara utilizar el comprobador de controladores, puede ejecutar Verifier.exe y reiniciar a continuación el equipo. No tiene que hacer ningún otro cambio para comenzar a analizar los controladores del sistema.El comprobador de controladores proporciona las funciones siguientes. Asignaciones de bloquesIntente repartir todas las asignaciones de bloques de un controlador desde un bloque especial. En lugar de compartir las asignaciones de bloques con el resto del sistema, las asignaciones de este controlador se aislan y se limitan mediante permisos Sin acceso. Esta capacidad determina si un controlador asigna más que la parte del bloque que le corresponde y, por lo tanto, ocasiona daños y la inestabilidad del sistema. Cuando habilita esta capacidad y el equipo de destino tiene suficiente memoria física y virtual, todas las asignaciones del controlador se redirigen automáticamente hacia el bloque especial.Someter a una presión extrema a la memoriaSe puede someter a una presión extrema a la memoria en un controlador concreto sin afectar a otros controladores (independientemente del tamaño de la memoria del sistema). Para ello, puede indicar al sistema de administración de memoria que invalide el código paginable y los datos de todo el controlador, así como los datos, el código y el bloque paginado del sistema. Esto permite detectar un controlador que contenga bloqueos de bucle (spin lock) incorrectamente o genere IRQL, y, a continuación, obtenga acceso a datos o código paginado. Puede utilizar la presión extrema de la memoria para detectar problemas intermitentes y aislar la causa.Validación de parámetrosTodas las llamadas a bloqueos de bucle (spin lock), IRQL y asignación de bloques que hace el controlador se someten a una validación automática de los parámetros. Esto significa que se realizan comprobaciones para garantizar lo siguiente:
Errores en la inyección de la asignación del bloqueLas asignaciones de bloques que el controlador no ha marcado como MUST_SUCCEED pueden no producirse de forma aleatoria para garantizar que el controlador pueda controlar correctamente una situación en la que haya poca memoria.El bloque que se liberaTodos los bloques que se liberan se examinan para garantizar que no hay ningún temporizador pendiente dentro de la asignación del bloque, ya que esto provocaría que el seguimiento de los bloqueos del sistema fuera sumamente difícil.Detección de la pérdida de bloquesEl seguimiento de todas las asignaciones del bloque del controlador se realiza automáticamente. En el momento de descargar el controlador, se activa un error si ninguna de las asignaciones se han liberado. Entonces puede utilizar el comando de depuración del núcleo !verifier 3 para mostrar todas las asignaciones que no se han liberado. También puede utilizar este comando antes de la descarga para ver las asignaciones pendientes que el controlador tiene en cualquier momento.Comprobación de la descarga del controladorLa comprobación de la descarga del controlador se realiza para detectar controladores que se descargan y no limpian los recursos que usan (lo que aumenta la posibilidad de que se active un error del sistema poco después de que se descargue el controlador). Los recursos que el controlador no puede eliminar incluyen listas de búsquedas adicionales (look-aside), llamadas a procedimiento diferido (DPC, Deferred Procedure Call) pendientes, subprocesos de trabajo, colas, temporizadores y otros recursos.Comprobador de E/SSi activa el indicador del comprobador de E/S con la herramienta Verifier o la clave del Registro VerifyDriverLevel (para obtener más información, remítase a la sección "Habilitar la comprobación de controladores" de este artículo), se activan algunas comprobaciones del Administrador de E/S. Esto incluye:
Requisitos del comprobador de controladoresEl único requisito es que se debe instalar Windows 2000, Windows XP o Windows Server 2003. Puede habilitar el comprobador de controladores en las versiones comerciales y revisadas de Windows. Vea el artículo 251233 de Microsoft Knowledge Base para obtener información sobre qué se debe considerar antes de habilitar el Administrador del comprobador de controlador en servidores de producción. Si está instalado Norton AntiVirus, no habilite la detección de interbloqueos del comprobador de controladores debido a las recomendaciones del artículo 325672 de Microsoft Knowledge Base.Habilitar el comprobador de controladoresPuede habilitar el comprobador de controladores con Verifier.exe. Verifier.exe se incluye con cada copia de Windows y se instala automáticamente en la carpeta System32. Verifier.exe tiene interfaces de GUI y de línea de comandos, por lo que puede especificar controladores y niveles adecuados de comprobación. También puede ver las estadísticas del comprobador de controladores en tiempo real. Para obtener información adicional, remítase a la sección "Administrador de comprobador de controlador" de este artículo.Depurar infracciones del comprobador de controladoresTanto el comando !verifier del depurador del núcleo como la herramienta Verifier.exe muestran la configuración del comprobador de controladores actual y estadísticas en tiempo real.Todas las infracciones del comprobador de controladores provocan que se activen errores; los más comunes son los siguientes:
El comprobador de controladores y los controladores gráficosLos controladores de gráficos en modo de núcleo de Windows (como las DLL de impresoras y de controladores de vídeo) no pueden llamar directamente al punto de entrada del bloque. En su lugar, las asignaciones del bloque se realizan indirectamente utilizando devoluciones de llamada a la interfaz del controlador de dispositivos (DDI) gráficos a Win32k.sys. Por ejemplo, EngAllocMem es la devolución de llamada a la que un controlador de gráficos llama para asignar explícitamente la memoria del bloque. Además, otras devoluciones de llamadas especializadas como EngCreatePalette y EngCreateBitmap devuelven la memoria del bloque.Para proporcionar el mismo tipo de pruebas automatizadas para los controladores de gráficos, en Win32k.sys se permiten utilizar algunas funciones del comprobador de controladores. Sin embargo, dado que los controladores de gráficos están más limitados que otros controladores en modo de núcleo, sólo requieren un subconjunto de la funcionalidad del comprobador de controladores. En concreto, no se necesitan la comprobación de IRQL y la de E/S. El resto de la funcionalidad, en concreto el uso de un bloque especial, la incapacidad aleatoria de realizar asignaciones en el bloque y el seguimiento del bloque, se admiten en diferentes grados en las distintas devoluciones de llamada DDI de gráficos. Las funciones de devolución de llamada de DDI de gráficos siguientes tienen la capacidad de no realizarse de forma aleatoria:
Habilitar el comprobador de controladores para los controladores de gráficos es igual que para los demás controladores (remítase a la sección "Habilitar el comprobador de controladores" de este artículo para obtener información adicional). Se pasan por alto los indicadores no admitidos, por ejemplo, la comprobación de IRQL. Además, puede utilizar el comando del depurador del núcleo !gdikdx.verifier para examinar el estado actual del comprobador de controladores y las trazas de bloques de los controladores de gráficos. NOTA Sólo debería utilizar la opción de incapacidad aleatoria de asignación en las pruebas de eficacia. El uso de esta opción puede provocar mensajes de error de proceso, por lo que no debería utilizarla con pruebas de comprobación que determinen la exactitud de la implementación del controlador de gráficos (por ejemplo, comparando la salida del controlador de gráficos con una imagen de referencia). Administrador del comprobador de controlador (Verifier.exe)El uso de la herramienta Administrador de comprobador de controlador (Verifier.exe) constituye el mejor modo de crear y modificar la configuración del comprobador de controladores y recopilar sus estadísticas. Verifier.exe se encuentra en la carpeta %WinDir%\System32 de cada instalación de Windows.Estado del controladorLa página de propiedades de Estado de controlador ofrece una imagen del estado actual del comprobador de controladores. Puede ver qué controladores detecta el comprobador. El estado puede ser uno de los siguientes:
Si habilita el indicador Bloque especial y al bloque especial se dirigen menos del 95 por ciento de las asignaciones de bloque, en esta página aparece un mensaje de advertencia. Esto significa que tiene que seleccionar un bloque más pequeño de controladores que comprobar o agregar más memoria física al equipo para que la comprobación de las asignaciones de bloques abarque más. Contadores globalesLa página de propiedades Contadores globales muestra el valor actual de algunos contadores que mantiene el comprobador de controladores. Un valor cero en un contador puede señalar que el indicador del comprobador de controladores asociado no está habilitado. Por ejemplo, el valor cero del contador Other/Faults señala que el indicador de simulación de pocos recursos no está habilitado. Puede supervisar la actividad del comprobador porque los valores de los contadores se actualizan automáticamente (de forma predeterminada). Puede cambiar la frecuencia de actualización, cambiar a la actualización manual o forzar una actualización utilizando el grupo de controles del área inferior izquierda del cuadro de diálogo.Seguimiento de bloquesEsta página de propiedades muestra más estadísticas recopiladas por el comprobador de controladores. Todos los contadores mostrados en esta página están relacionados con el indicador Seguimiento de bloques del comprobador. La mayor parte de ellos son contadores de cada controlador (por ejemplo, las asignaciones actuales, los bytes asignados actualmente, etcétera). Esto significa que debe seleccionar un nombre de controlador en el cuadro de combinaciones superior para ver los contadores de ese controlador concreto.ConfiguraciónPuede utilizar esta página para crear y modificar la configuración del comprobador de controladores. La configuración se guarda en el Registro y debe reiniciar el equipo para que surta efecto. Puede utilizar la lista para ver los controladores instalados actualmente. Cada controlador puede estar en uno de los estados siguientes:
En la parte inferior del cuadro de diálogo, puede especificar controladores adicionales (separados por espacios) que desea que se comprueben después del próximo reinicio. Normalmente suele usarse este control de edición cuando se desea instalar un controlador nuevo que aún no está cargado. Si el grupo de botones de opción de la parte superior de la lista se establece en Comprobar todos los controladores, la lista y los botones Comprobar y No comprobar, y el control de edición no están disponibles. Esto significa que después del siguiente reinicio, se comprueban todos los controladores del sistema. Puede establecer el tipo de comprobación utilizando las casillas de verificación del área superior derecha del cuadro de diálogo. Puede habilitar la comprobación de E/S en el nivel 1 o en el nivel 2. La comprobación de nivel 2 es más extensa que la de nivel 1. Debe guardar cualquier modificación de la configuración haciendo clic en Aplicar. Hay dos botones más en esta página:
Configuración volátilPuede utilizar esta página de propiedades para cambiar los indicadores del comprobador de controladores inmediatamente. Únicamente puede alternar el estado de algunos indicadores y no puede cambiar la lista de los controladores que se comprueban. Después de cambiar el estado de algunas casillas de verificación, debe hacer clic en Aplicar para que los cambios surtan efecto. Los cambios surten efecto inmediatamente y duran hasta que realiza cambios adicionales o reinicia el equipo.Interfaz de la línea de comandosTambién puede ejecutar Verifier.exe desde una línea de comandos (para obtener más información, escriba verifier.exe /? en un símbolo del sistema). La lista siguiente muestra los indicadores de la línea de comandos que más se usan:
Información adicional para desarrolladores de controladoresEn las secciones que siguen se describen detalles adicionales sobre las opciones del comprobador de controladores que pueden ser de interés para desarrolladores de controladores. Los profesionales de informática (IT) no suelen necesitar estas opciones.Advertencia La utilización incorrecta del Editor del Registro puede provocar problemas graves que hagan necesario volver a instalar el sistema operativo. Microsoft no garantiza que pueda solucionar los problemas resultantes del uso incorrecto del Editor del Registro. Utilice el Editor del Registro bajo su responsabilidad. Para habilitar el comprobador de controladores modificando el Registro, siga estos pasos:
La lista siguiente muestra ejemplos de valores para la clave REG_SZ:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Management\VerifyDriverLevel La lista siguiente
muestra los valores del campo de bit para esta clave. Puede combinar libremente
estos valores:
El valor predeterminado es 3 si la clave no existe o si no especifica un nivel de comprobación del controlador. El valor predeterminado es 0x1B si utiliza la opción Preferida en el comprobador. Para realizar el seguimiento de las pérdidas de memoria, pruebe con el valor 0xB. Este valor se obtiene con facilidad activando la casilla de verificación configuración preferida y desactivando la casilla de verificación Comprobación de E/S. PropiedadesId. de artículo: 244617 - Última revisión: lunes, 19 de diciembre de 2005 - Versión: 5.1 La información de este artículo se refiere a:
| Seleccione idioma
|


Volver al principio








