Cómo utilizar ADPlus.vbs para solucionar problemas "bloquea" y "se bloquea"

Seleccione idioma Seleccione idioma
Id. de artículo: 286350 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

ADPlus.vbs (ADPlus) es una herramienta de servicios de soporte técnico de Microsoft (PSS) que puede solucionar problemas de cualquier proceso o aplicación que deja de responder (se bloquea) o falle. Con frecuencia, puede utilizar ADPlus como una herramienta de reemplazo para el Monitor de excepciones de Microsoft Internet Information Server (IIS) (6.1/7.1) y User Mode Process Dump. Se trata de dos herramientas independientes que PSS suele utilizar para aislar las causas de un proceso para dejar de responder (se bloquea) o cerrarse inesperadamente (bloquearse) en un entorno de Microsoft Windows DNA.

Más información

Requisitos del sistema

ADPlus tiene los siguientes requisitos mínimos:
  • Windows NT 4.0 Service Pack 4 o posterior
  • Windows Scripting Host versión 5.6 o posterior
  • Al menos 10 megabytes (MB) de espacio libre en la cuota de disco o red donde ADPlus pondrá los archivos de salida
  • Microsoft Debugging Tools for Windows instalado

¿Dónde se obtiene ADPlus?


ADPlus se incluye con la más reciente Microsoft Debugging Tools for Windows. Para obtener la última Microsoft Debugging Tools for Windows, visite el siguiente sitio Web de Microsoft:
http://www.Microsoft.com/whdc/devtools/debugging/default.mspx

Las herramientas de depuración se enumeran en dos ubicaciones en la pantalla de opciones de instalación del Asistente para la instalación del SDK de Windows. Si desea instalar herramientas de depuración para Windows en el equipo en el que está trabajando, debe seleccionar laHerramientas de depuración para Windowsopción bajoUtilidades comunes. Si desea configurar herramientas de depuración para Windows en un equipo diferente, debe seleccionar laHerramientas de depuraciónopción bajo Paquetes redistribuiblesPara descargar las tres versiones de paquetes de instalación de herramientas de depuración (x 86, x 64, Itanium).

NotaLa versión más reciente de Microsoft herramientas de depuración para Windows se proporciona como parte del SDK de Windows. Además, el nombre de archivo se ha cambiado de ADPlus.vbs a ADPlus_Old.vbs. Además, se ha agregado ADplus.exe. Por lo tanto, ADplus.exe se ejecuta cuando se escribe sóloADPlus. ADplus.exe no es igual a ADPlus_Old.vbs. Sólo la versión de .vbs mencione en este artículo. Cuando desea ejecutar la versión .vbs, tendrá que escribirADPlus_old.vbs.


Nuevas características de ADPlus versión 6.0

ADPlus V6.0 ha sido reescrito completamente. La herramienta tiene nuevos modificadores y nuevas capacidades. Ahora puede configurar la herramienta a través de un archivo de configuración externo. Puede ver información actualizada acerca de las nuevas características y modificadores en el archivo de Ayuda de depurador (Debugger.chm) que se incluye en el paquete de depuradores de Microsoft Windows.

Debugger.chm se encuentra en la misma carpeta que ADPlus.vbs. Para localizar la documentación de ADPlus, haga clic en el Contenido ficha y, a continuación, haga clic en los elementos siguientes:
  • Utilizando herramientas de depuración para Windows
  • Archivos de volcado
  • Archivos de volcado de modo de usuario
  • Crear un archivo de volcado de modo de usuario
  • ADPlus
También puede encontrar documentación de ADPlus si hace clic en el Índice Tipo de ficha. ADPlus en el cuadro de texto de la palabra clave.

¿Qué hace ADPlus?

ADPlus es la secuencia de comandos de Microsoft Visual Basic basada en consola. Automatiza el depurador CDB de Microsoft para generar volcados de memoria y archivos de registro que contienen resultados de depuración de uno o más procesos. Cada vez que se ejecuta ADPlus, información de depuración (volcados de memoria y archivos de texto que contienen información de depuración) se coloca en una nueva carpeta con (como C:\Temp\Crash_Mode__Date_01-22-2001__Time_09-41-08AM) en el sistema de archivos local o en un recurso compartido de red remota. Además, cada archivo que crea ADPlus tiene un nombre único (como-41-08AM.log) para evitar sobrescribir los archivos antiguos con los más recientes.

ADPlus funciona con cualquier proceso de modo de usuario o servicio, como servicios de Internet Information Server (IIS), Microsoft Transaction Server (MTS) o aplicaciones COM + de Microsoft.

Éstas son algunas de las características de ADPlus:
  • ADPlus utiliza a los depuradores más recientes de Microsoft para la confiabilidad, velocidad y características mejoradas.
  • Cuando ADPlus realiza un volcado de memoria para varios procesos, lo hace de forma asincrónica para que cada proceso es inmovilización y el volcado al mismo tiempo. Este método puede proporcionar una "instantánea" efectiva de toda la aplicación en el momento en que se ejecutó ADPlus. Debe capturar todos los procesos que componen una aplicación y todos los procesos que utiliza la aplicación al mismo tiempo, para capturar el estado de la aplicación en el momento en que se produce el problema. Esto es especialmente importante para aplicaciones que realizan llamadas a procedimiento remoto a otros procesos.
  • ADPlus tiene una interfaz de línea de comandos. Debido a que ADPlus no tiene una interfaz gráfica de usuario, puede ejecutar silencioso modo (para suprimir los cuadros de diálogo) desde un shell de comandos remoto (un shell de comandos es remoto mediante el uso de Remote.exe). En modo silencioso, errores aparecen en la consola y se escriben en el registro de sucesos. Para obtener más información acerca de cómo ejecutar ADPlus desde un shell de comandos remoto, consulte la sección "Escenarios de uso" de este artículo.
  • Si utiliza el -notificar conmutador Cuando ADPlus supervisa fallos, y se inicia el servicio de Windows Messenger, ADPlus puede alertar a un usuario o equipo de un fallo a través del servicio de Windows Messenger.
  • Cuando ADPlus supervisa un proceso en modo de fallo, si se produce un fallo, envía información importante sobre el tipo de fallo en el registro de eventos.
  • ADPlus admite la implementación de XCOPY. Si instala el paquete de depuradores que se incluye con ADPlus en un equipo de prueba, puede copiar la carpeta donde se instalaron los depuradores a otro equipo. Además, ADPlus no requiere que registre los componentes de modelo de objetos componentes (COM) personalizado en el sistema. Debido a esto, puede utilizar ADPlus en servidores de producción que tienen una configuración de software de bloqueo. Para quitar ADPlus, elimine la carpeta donde se instaló o se copian en.

¿Cuándo se debe utilizar ADPlus?

ADPlus se ha diseñado para proporcionar a que los profesionales con información de depuración que deben tener para aislar a la causa de problemas que surgen en entornos complejos de soporte técnico de Microsoft.

Utilizar ADPlus para capturar información de depuración si los problemas siguientes:
  • Procesos que dejan de responder.
  • Procesos que consumen el 100 por ciento de CPU en un equipo de procesador, CPU del 50 por ciento en un equipo de procesador dual, 25% de CPU en un equipo con cuatro procesadores y así sucesivamente.
  • Procesos que fallan o se cerró inesperadamente.

¿Cuándo no debe utilizarse ADPlus?

No se debe utilizar ADPlus en las siguientes situaciones:
  • Si debe solucionar problemas de un programa o proceso que se cierra inesperadamente durante el inicio. Sólo puede utilizar ADPlus para procesos que se inician correctamente. Solucionar problemas de procesos que se cierran inesperadamente durante el inicio, User Mode Process Dump puede ser una solución mejor. Para obtener más información sobre User Mode Process Dump, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    253066Disponibilidad de herramientas de soporte técnico OEM fase 3 Service Release 2
    Como alternativa, puede utilizar a los depuradores más actualizados para depurar el proceso manualmente. Para obtener más información acerca de los depuradores más recientes, visite el siguiente sitio Web de Microsoft:
    http://www.Microsoft.com/whdc/devtools/debugging/default.mspx
  • Si hay un efecto notable en el rendimiento cuando utiliza ADPlus en modo de fallo. Normalmente, esto se debe a bibliotecas de vínculos dinámicos (DLL) o programas que inician muchas de las excepciones de Microsoft Visual C++ EH. (Estas excepciones se producen cuando se utiliza el compilador de C++ throw instrucción o cuando se utiliza try/catch bloques.) Los programas que escriben una gran cantidad de información en la secuencia de salida de depuración también pueden causar el rendimiento disminuya. En la mayoría de los casos, ADPlus no afecta al rendimiento considerablemente cuando se ejecuta en modo de fallo.
  • Si está ejecutando en un entorno con clústeres ciertos precauciones cuando utiliza ADPlus.Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    841673Un servidor en un clúster puede conmutar al intentar crear un archivo de volcado del almacén de información utilizando ADPlus o Userdump en Exchange 2000 Server o Exchange Server 2003

¿Cómo funciona ADPlus?

ADPlus tiene dos modos de operación:
  • Modo de "Colgar" se utiliza para solucionar problemas de bloqueos en procesos, la utilización de CPU del 100 por ciento y otros problemas que no implican un bloqueo. Cuando utiliza ADPlus en modo de bloqueo, debe esperar hasta que el proceso o procesos deje de responder antes de ejecutar la secuencia de comandos (a diferencia del modo de fallo, modo de bloqueo no es persistente).
  • Modo de "Fallo" se utiliza para solucionar fallos que dan lugar a errores de Dr. Watson, o cualquier otro tipo de error que hace que un programa o servicio se cierra inesperadamente. Cuando utiliza ADPlus en modo de fallo, debe iniciar ADPlus antes de se produce el bloqueo. Puede configurar ADPlus para notificar a un administrador o un equipo de un fallo a través de la -notificar conmutador.

Modo de bloqueo

En este modo, ADPlus genera inmediatamente volcados de memoria completa para todos los procesos que se especifican en la línea de comandos una vez completada la secuencia de comandos. Cada archivo .dmp que se crea se coloca en una carpeta que contiene la marca de fecha y hora se ejecutó ADPlus. Cada nombre de archivo contiene el nombre del proceso, el identificador del proceso y la marca de fecha y hora se ejecutó ADPlus. Mientras que el volcado de memoria de proceso a un archivo, el proceso se inmoviliza. Una vez creado el archivo de volcado de memoria, se reanuda el proceso mediante el uso de una conexión/desconexión no invasiva con el depurador CDB.

Sugerencia de uso Puede utilizar ADPlus en modo de bloqueo en lugar de Userdump.exe para volcar la memoria de uno o más procesos. Además, modo de bloqueo funciona dentro de una sesión de Terminal Server.

Modo de fallo

En este modo, ADPlus conecta al depurador CDB a todos los procesos que se especifican en la línea de comandos. ADPlus configura automáticamente el depurador para supervisar los siguientes tipos de excepciones:
  • Identificador no válido
  • Instrucción ilegal
  • Entero dividido por cero
  • Punto de división por cero flotante
  • Desbordamiento de enteros
  • Secuencia de bloqueo no válida
  • Infracción de acceso
  • Desbordamiento de pila
  • Excepción EH de C++
  • Excepción desconocida
Puede utilizar ADPlus en modo de fallo en lugar del Monitor de excepciones de IIS o Userdump.exe para solucionar estos tipos de excepciones. Como modo de fallo utiliza una conexión "invasiva" mediante el depurador CDB, no funciona dentro de una sesión de Microsoft Windows NT 4.0 o Windows 2000 Terminal Server. Sólo modo de bloqueo funciona dentro de una sesión de Terminal Server en estos sistemas operativos porque requieren el uso de una conexión no invasiva. Para obtener más información acerca de cómo conectar de forma invasiva y no invasiva adjuntar a un proceso con los depuradores más recientes, consulte la "mediante herramientas de depuración para Windows: asociar a un proceso en ejecución (modo de usuario)" sección en la Ayuda de depuradores.

Nota Modo de fallo se admite en una sesión de Terminal Server en sistemas operativos Windows XP y Microsoft Windows Server 2003.

Cuando ADPlus se ejecuta en modo de fallo, un depurador permanece conectado a cada proceso que se especifica en la línea de comandos para la duración de ese proceso hasta una excepción grave y el proceso se cierra inesperadamente o hasta que un usuario presiona la combinación de teclas CTRL+C para desconectar al depurador del proceso en cuestión. Para desconectar manualmente el depurador del proceso, debe maximizar la ventana del depurador y, a continuación, presione CTRL+C para interrumpir el depurador.

Al presionar CTRL+C, ADPlus captura este comando, comienza a enumerar las pilas de todos los subprocesos en un archivo de registro y, a continuación, produce un registro de volcado de memoria parcial del proceso antes de que se desconecte del depurador. Como el modo de fallo realiza una conexión invasiva, el proceso se detiene cuando se desconecta el depurador. Debe reiniciar el proceso. Si es un proceso MTS o COM +, el proceso se reinicia automáticamente la próxima vez que se realiza una llamada a un componente de ese paquete.

Excepciones de primera oportunidad

Cada tipo de excepción (como, por ejemplo, una infracción de acceso o un desbordamiento de pila) puede elevarse a un depurador como una primera oportunidad excepción o una segunda oportunidad excepción. Es por definición, una excepción de primera oportunidad no grave a menos que no se controla correctamente mediante el uso de un controlador de errores. Si se produce este problema, la excepción se produce otra vez como una excepción de segunda oportunidad (sólo puede tratar un depurador estos). Si ningún depurador procesa una excepción de segunda oportunidad, se cierra la aplicación.

Para obtener más información acerca de primera y segunda oportunidad, excepciones y el SEH (control de excepciones estructurado) de Windows NT, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
105675Control de excepciones de primera y segunda oportunidad
De forma predeterminada, cuando ADPlus detecta una excepción de primera oportunidad (no grave) para todos los tipos de excepciones excepto desconocido y excepciones EH, realiza las siguientes acciones:
  1. Pausa el proceso de registrar la fecha y hora en que se produjo la excepción en el archivo de registro para el proceso que se está supervisando.
  2. Registros de la pila de ID y llamada de subproceso del subproceso que provocó la excepción en el archivo de registro para el proceso que se está supervisando.
  3. Produce un (registro de volcado de memoria parcial con.dump -u /m) del proceso en el momento en que se produjo la excepción, y, a continuación, se reanuda el proceso.
Nota De forma predeterminada, ADPlus no producen las excepciones desconocidas y un registro de volcado de memoria parcial única para EH de primera oportunidad porque estas excepciones se producen con frecuencia. Normalmente, estas excepciones se controlan mediante código en un proceso o la DLL de control de errores. Ya que son excepciones controladas, no son excepciones de segunda oportunidad (no controlada) y no finalizan el proceso.

Sin embargo, puede configurar ADPlus de volcados de memoria de mini único para las excepciones desconocidas y EH de primera oportunidad. Para ello, debe utilizar un archivo de configuración para personalizar ADPlus.

Excepciones de segunda oportunidad

Cuando ADPlus detecta una excepción de segunda oportunidad (grave) para todos tipos de excepciones (incluidas las excepciones desconocidas y EH), realiza las acciones siguientes:
  1. Pausa el proceso de registrar la fecha y hora en que se produjo la excepción en el archivo de registro para el proceso que se está supervisando.
  2. Registros de la pila de ID y llamada de subproceso del subproceso que provocó la excepción en el archivo de registro para el proceso que se está supervisando.
  3. Realiza un volcado de memoria completa del proceso en el momento que se produjo la excepción fatal, y, a continuación, sale del depurador. Esta acción destruye el proceso.
Nota Para que profesionales de soporte técnico de Microsoft analizar volcados de memoria, pueden tener que obtener copias de los componentes personalizados o archivos DLL y sus correspondientes archivos de símbolos.Para obtener más información acerca de cómo crear archivos de símbolos para las bibliotecas DLL, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
121366Archivos PDB y DBG-¿qué son y cómo funcionan
291585 Cómo crear símbolos de depuración para una aplicación de Visual C++
Para obtener más información acerca de cómo obtener símbolos para productos de Microsoft (necesarios para analizar volcados de memoria con los depuradores), visite el siguiente sitio Web de Microsoft:
http://www.Microsoft.com/whdc/devtools/debugging/symbolpkg.mspx

Modificadores de línea de comandos de ADPlus

Para utilizar ADPlus, debe especificar una serie de modificadores de línea de comandos o argumentos de la secuencia de comandos. Como mínimo, ADPlus requiere dos modificadores: uno que especifica el modo de funcionamiento y otro que especifica un proceso de destino para su funcionamiento.

Los siguientes son los modificadores utilizados con más frecuencia. También puede ver la lista completa de conmutadores ejecutando ?Help de ADPlus, o consultando los depuradores (Debugger.chm) del archivo.
  • -hang
    Este modificador configura ADPlus para ejecutarse en modo de bloqueo. Debe utilizar este modificador con la -iis, -pn, o -p conmutadores. No se puede utilizar -hang Con la opción -crash conmutador.

    Nota Cuando ADPlus se ejecuta en modo de bloqueo, debe iniciar ADPlus Después de el proceso deja de responder o está consumiendo un alto porcentaje de la CPU.
  • -crash
    Este modificador configura ADPlus para ejecutarse en modo de fallo. Debe utilizar este modificador con la -iis, -pn, o -p conmutadores. No se puede utilizar -crash Con la opción -hang conmutador.

    Nota Cuando ADPlus se ejecuta en modo de fallo, debe iniciar ADPlus antes de el proceso cierra unexpectedlys o se vuelva inestable.
  • -pn nombre del proceso
    El -pn conmutador se utiliza para especificar un nombre de proceso que ADPlus debe analizar. Para especificar más de un proceso, utilice múltiples -pn nombre del proceso conmutadores. Por ejemplo:
    -pn process1.exe - pn process2.exe
  • -p ID. de proceso
    El -p conmutador se utiliza para especificar el proceso de identificación (PID) de un proceso que ADPlus debe analizar. Para especificar más de un proceso, utilice múltiples -p PID conmutadores. Por ejemplo:
    -p 1896 - p 1702
  • -scal generar comando
    A diferencia de la -pn y -p modificadores, que especifique los procesos que utilizan para asociar el depurador, en el -sc modificador define los parámetros para comenzar (o generado) y la aplicación en el depurador. Por ejemplo:
    sc - c:\windows\system32\notepad.exe"
  • -iis
    El -iis modificador se utiliza para depurar servidores que ejecutan Internet Information Server (IIS) 4.0 o posterior. Cuando utiliza ADPlus con el -iis conmutador, ADPlus supervisa todos los IIS en proceso (Inetinfo.exe) y las aplicaciones fuera de proceso (Mtx.exe/Dllhost.exe). Puede utilizar el -iis conmutador con el -pn conmutador o el -p conmutador o utilizarlo Solitario para analizar IIS y MTS en ejecución todos / bloqueo de aplicaciones COM + en cualquiera o modo de fallo.

    Si intenta analizar un servidor que ejecuta IIS 3.0 o anterior, utilizar el -pn Cambie y especificar Inetinfo.exe como proceso para supervisar.
  • -notificar nombre de equipo o nombre de usuario
    Este modificador sólo es válido cuando ADPlus se ejecuta en modo de fallo. Este modificador indica a ADPlus que el nombre de usuario especificado o el nombre del equipo de un fallo de alerta. Cuando el depurador se desconecte del proceso debido a una excepción de segunda oportunidad, o cuando el usuario presiona CTRL+C para detener la depuración, se envía una notificación al usuario remoto o al equipo a través del servicio messenger local. Esta notificación sólo se produce si el servicio messenger local se inicia en el equipo que se está depurando.
  • -quiet
    Este modificador indica a ADPlus que suprima todos los cuadros de diálogo modales. Este modificador es útil si está ejecutando ADPlus desde un shell de comandos remoto donde los cuadros de diálogo modales pueden causar ADPlus que esperar indefinidamente a un usuario haga clic en ACEPTAR. Para obtener mejores resultados, asegúrese de que es el primer modificador que se pasa a ADPlus.vbs.
  • -o directorio de salida
    Este modificador indica a ADPlus dónde poner los archivos de salida de depuración. Si utiliza nombres de archivo largos, debe incluir entre comillas dobles. Además, puede utilizar una ruta de acceso UNC (\\servidor\Recurso compartido). Si utiliza una ruta de acceso UNC, ADPlus crea una nueva carpeta inmediatamente debajo de la ruta de acceso UNC que especificó. La carpeta se denomina para el servidor donde se está ejecutando ADPlus (por ejemplo, \\servidor\Recurso compartido\Web1 o \\servidor\Recurso compartido\Web2). Este modificador es útil si ADPlus se ejecuta en varios equipos en una granja de servidores web que están colocando los resultados en el mismo recurso compartido de red.

Ejecutar ADPlus por primera vez

De forma predeterminada, los depuradores se instalan en la carpeta c:\Archivos programa\Debugging Tools for Windows. Para cambiar la carpeta de instalación, realice una instalación personalizada cuando instale a los depuradores y especificar una carpeta diferente. Como alternativa, si se realizó una instalación típica, copie el contenido de la carpeta de programa\Debugging Tools for Windows a una carpeta diferente.

Para ejecutar ADPlus, abra un shell de comandos, cambie a la carpeta donde se instala o copiaron los depuradores y, a continuación, escriba ADPlus.vbs.

Se le puede cambiar el intérprete de comandos predeterminado de Wscript.exe a Cscript.exe. Microsoft recomienda encarecidamente que permita que ADPlus configure CSCript como intérprete de comandos predeterminado.

Sintaxis

ADPlus utiliza la sintaxis siguiente: ADPlus.vbs modo de operación procesos que supervisar modificadores opcionalesdonde modo de operación es -hang, o -crash
donde procesos que supervisar es -iis, -pn proceso.exe, o -p PID
donde Modificadores opcionales es -notificar, -o, o -quiet.

Preparar el servidor para depuración

Antes de ejecutar ADPlus en modo de fallo, debe preparar el servidor para obtener la máxima información desde el modo de fallo de ADPlus las sesiones de depuración.

Pasos para preparar un servidor basado en Windows 2000 para la depuración en modo de fallo

  1. Instale los símbolos de Windows 2000 SP1 o SP2 en la carpeta C:\WINNT\Symbols de los servidores. Puede descargar los símbolos de los sitios Web de Microsoft siguientes:
    Windows 2000 SP1
    http://download.Microsoft.com/download/win2000platform/SP/SP1/NT5/en-US/SP1SYM.exe

    Windows 2000 Service Pack 2
    http://download.Microsoft.com/download/win2000platform/SP/SP2/NT5/en-US/SP2SYM.exe

    Después de descargar Sp1sym.exe o Sp2sym.exe, ejecute el archivo desde la carpeta designada.
  2. Cuando se le pida, extraiga los archivos a una nueva carpeta temporal, como C:\Sp1sym o C:\Sp2sym, o a una unidad o carpeta que tiene suficiente espacio en disco.
  3. Ejecute C:\Sp1sym\Support\Debug\Symbols\i386\Symbols_spexe o C:\Sp2sym\Support\Debug\Symbols\i386\Symbols_spexe (donde C:\Sp1sym o C:\Sp2sym es la carpeta donde extrajo los archivos en el paso anterior).
  4. Cuando aparezca el CLUF, haga clic en .
  5. Cuando se le pida una carpeta donde extraer los archivos, haga clic en C:\WINNT\Symbolsy, a continuación, haga clic en ACEPTAR. Observe que aparece una nueva carpeta C:\WINNT\Symbols. Esta carpeta contiene varias subcarpetas denominadas DLL y EXE.
  6. Copie los símbolos para las bibliotecas DLL personalizadas y cualquier post SP1 o SP2 en la carpeta C:\WINNT\Symbols\Dll.
  7. Copie los símbolos de los archivos .exe personalizados a la carpeta C:\WINNT\Symbols\Exe. Además, debe obtener los archivos .pdb o .dbg de los desarrolladores y, a continuación, coloque estos archivos en la carpeta C:\WINNT\Symbols\Dll.
  8. Sobrescribir los archivos DBG o .pdb existentes en la carpeta C:\WINNT\Symbols\Dll con las versiones de los hotfix.

    Nota Puede utilizar la última versión de Winzip para abrir los paquetes de revisión. Puede extraer los símbolos de la subcarpeta \Debug. La subcarpeta \Debug está contenida en el instalador automático de cada revisión.
  9. Crear una variable de entorno _NT_SYMBOL_PATH y establezca su valor en C:\WINNT\Symbols. Esta variable puede ser una variable de sistema o una variable de entorno de usuario.

Pasos para preparar un servidor basado en Windows NT 4.0 para la depuración en modo de fallo

  1. Se supone que se ejecuta Windows NT 4.0 Service Pack 6a. Instale los símbolos de Windows NT 4.0 SP6a en la carpeta C:\WINNT\Symbols de los servidores.
    Para obtener más información acerca de Windows NT 4.0 Service Pack 6/6a, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    241211Lista de errores corregidos en Windows NT 4.0 Service Pack 6/6a (parte 1)
    Después de descargar el archivo Sp6symi.exe, ejecute desde la carpeta designada.
  2. Cuando se le pida, extraiga los archivos en la carpeta C:\WINNT (o sustituir la carpeta \WINNT apropiada si los símbolos no se instalaron en C:\WINNT). Observe que aparece una nueva carpeta C:\WINNT\Symbols con diversas subcarpetas denominados DLL, EXE y otros.
  3. Copie las subcarpetas de la carpeta C:\WINNT\Symbols\IIS4 a C:\WINNT\Symbols. Cuando se le pida para sobrescribir todos los archivos, haga clic en .
  4. Copie los símbolos de su custom dll y cualquier revisiones posteriores a SP6a la carpeta C:\WINNT\Symbols\Dll.
  5. Copie los símbolos de los archivos .exe personalizados a la carpeta C:\WINNT\Symbols\Exe. Además, debe obtener los archivos .pdb o .dbg de los desarrolladores y, a continuación, coloque estos archivos en la carpeta C:\WINNT\Symbols\Dll.
  6. Sobrescribir los archivos DBG o .pdb existentes en la carpeta C:\WINNT\Symbols\Dll con las versiones de las revisiones.

    Nota Puede utilizar la última versión de Winzip para abrir los paquetes de revisión. Puede extraer los símbolos de la subcarpeta \Debug. Esta subcarpeta está incluida en el instalador automático de cada revisión.
  7. Crear una variable de entorno _NT_SYMBOL_PATH y establezca su valor en C:\WINNT\Symbols. Esta variable puede ser una variable de sistema o una variable de entorno de usuario.
Aunque no es necesario descargar e instalar los símbolos en los servidores que está depurando, se recomienda encarecidamente. Al descargar e instalar los símbolos en el servidor, el resultado que capturan los archivos de registro es mucho más útil para Microsoft (PSS).

Para obtener más información acerca de cómo obtener los símbolos de depuración de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
268343Umdhtools.exe: Cómo utilizar Umdh.exe para buscar fugas de memoria
Después de configurar los servidores, puede ejecutar ADPlus en modo de fallo. Este modo se describe en la sección "Escenarios típicos de uso de ADPlus".


Escenarios típicos de uso de ADPlus

Esta sección describe algunos de los escenarios típicos donde puede que tenga que ejecutar ADPlus.

Proceso deja de responder o consume el 100 por ciento de la CPU

En este escenario, un proceso puede consumir aleatoriamente el 100 por ciento de CPU durante períodos prolongados o indefinidos. Ejecutar ADPlus en modo de bloqueo para obtener un volcado de memoria del proceso o procesos que están consumiendo la CPU Después de se produce el problema. Por ejemplo, utilice una de las sintaxis siguientes:
ADPlus-hang -p 1896
Este comando ejecuta ADPlus en modo de bloqueo y genera un archivo de volcado de memoria completa de un proceso cuyo PID es 1896.

ADPlus-hang - pn miapl.exe
Este comando ejecuta ADPlus en modo de bloqueo y genera archivos de volcado de memoria completa de todos los procesos denominados Miapl.exe.

ADPlus-hang - iis - pn miapl.exe -o c:\temp
Este comando ejecuta ADPlus en modo de bloqueo y genera archivos de volcado de memoria completa de IIS, todas las instancias de Mtx.exe o Dllhost.exe, y todos los procesos cuya denominación es Myapp.exe. A continuación, coloca los archivos de volcado de memoria en la carpeta C:\Temp.
Cuando ejecuta ADPlus en modo de bloqueo durante la condición de CPU del 100 por ciento, la herramienta genera archivos de volcado de memoria del proceso o procesos que se especifican en la línea de comandos.

Nota En algunas ocasiones, el depurador no puede asociar al proceso después de la condición de CPU del 100 por ciento o se produjo el bloqueo. Si ejecuta ADPlus en modo de bloqueo después de que se ha producido el problema, la herramienta no puede generar archivos de volcado de memoria. En estos casos, puede ser preferible conectar el depurador antes de se ha producido el problema. Para ello, utilice una de las siguientes sintaxis de comando para ejecutar ADPlus en modo de fallo:
ADPlus-crash -p 1896
Este comando ejecuta ADPlus en modo de fallo para un proceso cuyo PID es 1896. ADPlus espera una excepción, o a un usuario presione CTRL+C en la ventana minimizada del depurador, para generar un archivo de volcado de memoria y desconectar al depurador.

ADPlus-crash - pn miapl.exe
Este comando ejecuta ADPlus en modo de fallo para el proceso denominado Miapl.exe. ADPlus espera una excepción, o a un usuario presione CTRL+C en la ventana minimizada del depurador, para generar un archivo de volcado de memoria y desconectar al depurador.

ADPlus-crash - iis - pn miapl.exe -o c:\temp
Este comando ejecuta ADPlus en modo de fallo para todas las instancias de los procesos denominados Miapl.exe e Inetinfo.exe y todas las instancias de Mtx.exe o Dllhost.exe. ADPlus espera una excepción o un usuario presione CTRL + C en una o varias de las ventanas minimizadas del depurador para generar el archivo de volcado de memoria (o archivos) y para desconectar el depurador (o los depuradores). ADPlus pone los archivos de volcado de memoria y los archivos de registro en la carpeta C:\Temp.
A continuación, Después de el proceso se bloquee o consuma el 100% de la CPU, el usuario puede presionar CTRL + C en la ventana minimizada del depurador (o windows) que ADPlus genera de forma que el depurador puede generar un archivo de volcado de memoria del proceso (o procesos).

Nota De forma predeterminada, ADPlus genera sólo los registros de volcado de memoria parcial cuando el usuario presiona CTRL + C. Esta forma se ahorra espacio en disco. En este escenario, puede ser útil configurar ADPlus para generar un archivo de volcado de memoria completa cuando el usuario presiona CTRL+C. Para ello, utilice el ? CTCF conmutador. Además, es suele ser útil capturar un archivo de registro de rendimiento o un archivo de registro de monitor de sistema para el período de tiempo hasta e incluyendo la condición de la utilización de CPU de 100 por ciento. Como mínimo, este archivo de registro debe capturar los siguientes objetos en 1 a 5 segundos:
  • Memoria
  • Proceso
  • Procesador
  • Sistema
  • Subproceso

Proceso se cierra inesperadamente

En este escenario, un proceso puede aleatoriamente salir (o bloquearse) inesperadamente. Ejecutar ADPlus en modo de fallo para obtener un archivo de volcado de memoria del proceso o procesos que salga antes de se produce el problema. Por ejemplo, utilice una de las sintaxis siguientes:
ADPlus-crash - iis
Este comando ejecuta ADPlus en modo de fallo y hace que conecte al depurador CDB a Inetinfo.exe y a todos los procesos Mtx.exe o Dllhost.exe que se ejecutan en el equipo. ADPlus espera a continuación, primera y excepciones de segunda oportunidad para que se produzca. De forma predeterminada, ADPlus pone todos los archivos en una subcarpeta de la carpeta de instalación porque el -o se omite el conmutador.

ADPlus-quiet - crash - iis-notify equipo remoto -o c:\temp
Este comando ejecuta ADPlus silenciosamente (cuadros de diálogo no registrar todos los resultados al registro de sucesos) en accidente modo y hace que conecte el depurador CDB a Inetinfo.exe y a Mtx.exe o Dllhost.exe todos los procesos que se ejecuta en el equipo. Porque el -notificar se utiliza el modificador, los depuradores notifican a todos los usuarios que han iniciado sesión el equipo llamado equipo remoto cada vez que se detecta un fallo o cuando el proceso que está supervisando se cierra. Porque el -o se utiliza el modificador, ADPlus pone todos los resultados en la carpeta C:\Temp. Si la carpeta no existe, ADPlus la crea.

ADPlus-crash - iis -o \\servidor\Recurso compartido
Este comando es el mismo que el comando anterior, excepto que registra todos los resultados en un servidor de red. ADPlus crea una nueva subcarpeta en \\servidor\Recurso compartidoy nombres de la subcarpeta para el equipo local. Por lo tanto, si está ejecutando ADPlus en un conjunto de servidores web, cada servidor del conjunto se ejecuta ADPlus registra su propia carpeta única bajo \\servidor\Recurso compartido. (No tiene que crear carpetas únicas para cada servidor. ADPlus lo hace automáticamente.)
Nota Si está ejecutando ADPlus en modo de fallo desde la consola local (en lugar de desde un shell de comandos remoto tal como se describe en la siguiente sección), debe permanecer conectada en la consola para la duración de la sesión de depuración.

Por ejemplo, suponga que inicia ADPlus en modo de fallo y utilizar el -iis conmutador para supervisar IIS. Al iniciar la sesión de la consola, salga de las copias de Cdb.exe que se ejecutan en la consola (y todas las demás aplicaciones en ejecución). Como resultado, la depuración se detiene y el proceso que se está supervisando finaliza.

Para evitar este problema, puede bloquear la sesión de consola (presione CTRL + ALT + SUPR combinación de teclas y, a continuación, haga clic en Bloquear equipo) o ejecutar ADPlus desde un shell de comandos remoto programado para ejecutarse de forma no interactiva (es decir, no requiere un inicio de sesión interactivo).

Para obtener más información acerca de cómo programar un shell de comandos remoto para ejecutar de forma no interactiva, consulte la sección "Típica ADPlus uso escenarios: ejecutar en Crash modo remotamente".

Aplicación de servidor MTS o COM + se cierra inesperadamente

Componentes de modelo de objetos componentes (COM) personalizado que se ejecutan en una aplicación de servidor MTS o COM + se ejecutan realmente en un proceso suplente (Mtx.exe o Dllhost.exe). Estos procesos suplentes tienen propiedades y valores que se pueden configurar mediante MTS Explorer (en Windows NT 4.0) o mediante el complemento Microsoft Management Console (MMC) de servicios de componente (para Windows 2000, Windows XP y Windows Server 2003).

De forma predeterminada, las aplicaciones de servidor MTS o COM + se configuran para salir después de tres minutos de tiempo de inactividad. Para asegurarse de que estos procesos permanecen ejecutándose mientras está asociado el depurador y supervisando excepciones, debe configurarlos para Dejar ejecutando cuando esté inactivo.

Además, MTS y COM + implementan failfast. Failfast es una medida de seguridad está diseñado para un error (o salir) MTS / COM + procesos que generan no controlan las infracciones de acceso.

De forma predeterminada, failfast está habilitado en las aplicaciones MTS o COM + que generan excepciones de infracciones de acceso no controlada. Como resultado, un error MTS / aplicación de servidor COM + no puede producir una excepción de infracción de acceso de segunda oportunidad (es decir, se cierra después de la primera infracción de acceso de oportunidad). De forma predeterminada, ADPlus está configurado para producir sólo un registro de volcado de memoria parcial cuando se producen excepciones de primera oportunidad.

Para depurar correctamente MTS / COM + aplicaciones de servidor, siga estos pasos:
  1. Configurar el MTS / COM + aplicación del servidor Dejar ejecutando cuando esté inactivo.
  2. Utilice el FullOnFirst conmutador para crear archivos de volcado completo de excepciones de primera oportunidad.
  3. Ejecutar ADPlus en modo de fallo y espere para que la aplicación fallara.
Nota Puesto que cerrar una aplicación de servidor MTS y COM +, y la directiva failfast impide que el proceso de provocar una excepción de segunda oportunidad, sólo podrá obtener un primer oportunidad acceso violación archivo de volcado.

Ejecutar de forma remota en modo de fallo

Hay muchas ocasiones cuando debe iniciar ADPlus en modo de fallo desde un equipo cliente local para supervisar un proceso que se cierra inesperadamente en uno o más servidores remotos de un conjunto de servidores. Normalmente, en Windows 2000, esto se realiza a través de servicios de Terminal Server de Windows. Sin embargo, no se puede depurar aplicaciones que se ejecutan en estaciones de ventana diferente en Windows NT 4.0 y Windows 2000. Por lo tanto, ADPlus deshabilita crash funcionalidad de modo cuando detecta que se está ejecutando en una sesión de servicios de Terminal Server. Para resolver este problema, comparta el servidor remoto mediante la utilidad Remote.exe, cree un archivo por lotes que inicie un shell de comandos en el servidor remoto y, a continuación, programar este archivo por lotes para ejecutar en el servidor de destino mediante la AT comando. (El AT comando hace que el shell de comandos ejecutar de forma no interactiva, similar a un servicio.) El shell de comandos remoto, a continuación, está conectado a una estación de trabajo local o un equipo cliente que utiliza la misma utilidad Remote.exe que usó para iniciar el shell de comandos.

Para iniciar un shell de comandos remoto en un servidor mediante la AT comandos, siga estos pasos:
  • En el servidor remoto
    Se supone que los depuradores se instalan en C:\Debuggers. Siga estos pasos:
    1. En la carpeta C:\Debuggers, cree un nuevo archivo de proceso por lotes llamado Remoteshell.cmd.
    2. Agregue la siguiente línea a este archivo por lotes:
      c:\debuggers\remote.exe /s "cmd.exe" remoteshell
    3. En la consola en el servidor o en una sesión de servicios de Terminal Server, abra un nuevo shell de comando y, a continuación, escriba el comando siguiente:
      EN 15: 00 c:\debuggers\remoteshell.cmd hora con
      donde 15: 00 es un minuto posterior a la hora actual. Por ejemplo, si la hora actual es 14: 59, escriba 15: 00.
    4. Espere a que el AT comando para ejecutar.
    5. En el símbolo del sistema, escriba AT sin parámetros para comprobar que la tarea se ha ejecutado sin errores.
  • En el cliente local:
    Instale los depuradores en el equipo cliente local o (como mínimo) copie la utilidad Remote.exe localmente. (De forma predeterminada, la utilidad se instala con los depuradores en la carpeta raíz de la instalación.)

    Se supone que los depuradores y la utilidad Remote.exe se instalan en C:\Debuggers. Siga estos pasos:
    1. En el símbolo del sistema, cambie a la carpeta C:\Debuggers.
    2. Escriba el comando siguiente:
      Remote.exe /c servidor remoto remoteshell
      donde servidor remoto es el nombre del servidor remoto.
    3. Shell de comandos local ahora está conectado al shell de comandos remoto que se ejecuta en el servidor y todos los comandos que escriba localmente se llevará a cabo en el servidor remoto (el DIR c:\ comando enumera el contenido de la unidad c en el servidor remoto).
    4. En el shell de comandos remoto, puede ejecutar ahora ADPlus en modo de fallo como si estuviera ejecutando localmente desde la consola. Sin embargo, debe utilizar el -quiet cambiar para suprimir todos los cuadros de diálogo que ADPlus genera de forma predeterminada. Si no utiliza el -quiet conmutador, el shell de comandos remoto dejará de responder después de ejecutar ADPlus y no se devolverá el símbolo del sistema. Si se produce este problema, debe salir del shell de comandos remoto (Cmd.exe) en el servidor y, a continuación, iniciar una nueva instancia.
    5. Para enviar una interrupción de depuración (CTRL+C) a un proceso que ADPlus está depurando actualmente de forma remota a través del modo de fallo, debe utilizar la utilidad Breakin.exe. De forma predeterminada, Breakin.exe se instala con los depuradores en la raíz de la carpeta de depuradores. Por ejemplo, para detener la depuración de IIS (Inetinfo.exe) que se ejecuta con un ID de proceso de 1975, escriba el siguiente comando en el shell de comandos remotos:
      Breakin.exe 1975
      Como alternativa, puede utilizar el comando Kill.exe (ubicado en la carpeta raíz de depuradores) para finalizar los procesos que se están depurando.

Información adicional y problemas conocidos

  • ¿Cómo puede determinar si ADPlus ha capturado información sobre un fallo o si se ha cerrado un proceso que se está supervisando en modo de fallo?

    Hay varias formas de determinar esto:
    • Utilice el -notificar Cambie y compruebe que el servicio messenger se inicia en el servidor que se está depurando y en el equipo cliente que recibirá las notificaciones.
    • En un editor de texto, abra el archivo .log que aparece en la carpeta de salida para cada proceso y, a continuación, desplácese hasta el final del archivo. Busque el texto siguiente:
           0:070> * -------- AutodumpPlus 4.01 finished running at: --------
           0:070> .time
           Debug session time: Mon Aug 06 15:25:15 2001
           System Uptime: 3 days 17:00:34 
           Process Uptime: 1 days 3:10:38 
           0:070> * -------------------------------------------------------
    • En la carpeta de salida, busque archivos .dmp que contengan la frase "__2nd_chance". Si esta frase aparece en la etiqueta de un registro de volcado de memoria, un proceso ha finalizado inesperadamente.
    • En la carpeta de salida, busque archivos .dmp que contengan la frase "__Process_was_shutdown". Si esta frase aparece en la etiqueta de un registro de volcado de memoria, un administrador finalizó el proceso o, si es un MTS / COM + aplicaciones, el proceso finalizó debido a que alcanzó el límite de inactividad.
    • En la carpeta de salida, busque archivos .dmp que contengan la frase "__CTRL-C". Si esta frase aparece en la etiqueta de un registro de volcado de memoria, se produjo una excepción de interrupción de depuración desde un archivo DLL que se estaba ejecutando en el proceso o alguien ha presionado CTRL+C desde la consola (o se Breakin.exe si ADPlus se ejecuta de forma remota) para detener la sesión de depuración actual.
  • Debe instalar los componentes de Windows Scripting Host en el sistema de ADPlus para ejecutarse. Para descargar a Windows Scripting Host, visite el siguiente sitio Web de Microsoft:
    http://msdn2.Microsoft.com/en-us/library/ms950396.aspx
    Nota Ya pueden estar instalados los componentes de Windows Scripting Host si tiene alguno de los siguientes productos de Microsoft instalados:
    • Microsoft Internet Explorer 5
    • Microsoft Office 2000
    • Microsoft Visual InterDev 6.0
    • Visual Studio de Microsoft 6.0
    • Microsoft Windows NT Option Pack
    • Microsoft Windows 2000
    • Microsoft Windows XP
    • Microsoft Windows Server 2003
    • Microsoft Windows Vista
  • El -iis conmutador funciona sólo si Internet Information Server (IIS) 4.0 o servicios de Internet Information Server (IIS) 5.0.x está instalado.
  • Cuando ejecuta ADPlus en modo silencioso, la herramienta registra información en el registro de sucesos.
  • Si utiliza el -o Switch, la ruta de acceso especificada no debe contener más de una carpeta que no existe. Por ejemplo:
    1. Especifica -o c:\temp1\temp2. Sin embargo, las carpetas C:\Temp1 y \Temp2 no existen.
    2. Recibe un mensaje de error de ADPlus que indica que no existen las carpetas y ADPlus no las creará.
    Si especifica sólo -o c:\temp1ADPlus crea la carpeta C:\Temp1 si no existe y, a continuación, pone todos los archivos de salida en esa carpeta. Si desea especificar varias subcarpetas y usar el -o interruptor, compruebe que todas las subcarpetas existen antes de ejecutar ADPlus.
  • En COM +, puede configurar un paquete de servidor para iniciar en el depurador en el Advanced ficha en la Propiedades cuadro de diálogo del paquete. Si habilita la Iniciar en el depurador opción, ADPlus no puede adjuntar al depurador CDB a un proceso. De forma predeterminada, se puede conectar sólo un depurador a un proceso a la vez.
  • Cuando se realiza una llamada a procedimiento remoto (RPC) de un proceso que ADPlus está analizando en modo de fallo a otro proceso que se ha cerrado (intencionada o inesperadamente), el archivo de registro que ADPlus crea para el proceso que está analizando puede contener uno o más de las siguientes excepciones:
    Excepción desconocida - código 80010105 (first chance)
    Excepción desconocida - 800706be de código (first chance)
    Unknown exception - code 800706ba (first chance)
    Estas excepciones son normales. RPC genera estas excepciones cuando se realiza una llamada de un proceso que se está supervisando a un proceso que no existe o no.

    Además, si ADPlus está supervisando Inetinfo.exe en el registro de depuración de ADPlus para ese proceso, la excepción siguiente puede aparecer en el registro:
    Excepción desconocida - código 800706bf (first chance)
    Esta excepción suele aparecer después de que IIS realiza una llamada a un sitio de Web de fuera de proceso (aislamiento alto) que ha fallado. Puede ir seguido de dos instancias de la siguiente excepción:
    Unknown exception - code 800706ba (first chance)

Referencias

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
323478No se puede depurar a través de una sesión de Terminal Server

Propiedades

Id. de artículo: 286350 - Última revisión: martes, 30 de agosto de 2011 - Versión: 1.0
La información de este artículo se refiere a:
  • Servicios de Microsoft Internet Information Server 6.0
  • Servicios de Microsoft Internet Information Server 5.0
  • Servicios de Microsoft Internet Information Server 3.0
  • Microsoft Windows 2000 Standard Edition
  • Microsoft Windows XP Service Pack 2
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Windows Vista Enterprise
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
Palabras clave: 
kbbug kbdebug kbhowto kbmt KB286350 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 286350

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com