Activación de un cliente inteligente

Una vez activado el servidor de procesos dbgSrv, puede crear un cliente inteligente en otro equipo e iniciar una sesión de depuración.

Hay dos maneras de iniciar un cliente inteligente: iniciando CDB o WinDbg con la opción de línea de comandos -premote o mediante la interfaz gráfica winDbg.

El protocolo del cliente inteligente debe coincidir con el protocolo del servidor de procesos. La sintaxis general para iniciar un cliente inteligente depende del protocolo utilizado. Hay las siguientes opciones:

Debugger -premote npipe:server=Server,pipe=PipeName[,password=Password] [Options]

Debugger -premote tcp:server=Server,port=Socket[,password=Password][,ipversion=6] [Options]

Debugger -premote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] [Options]

Debugger -premote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] [Options]

Debugger -premote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] [Options]

Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] [Options]

Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] [Options]

Para usar la interfaz gráfica para conectarse a un servidor de procesos, WinDbg debe estar en modo inactivo; debe haberse iniciado sin parámetros de línea de comandos o debe haber finalizado la sesión de depuración anterior. Seleccione el archivo | Conéctese al comando de menú Código auxiliar remoto . Cuando aparezca el cuadro de diálogo Conectar al servidor de código auxiliar remoto , escriba una de las siguientes cadenas en el cuadro de texto Cadena de conexión :

npipe:server=Server,pipe=PipeName[,password=Password] 

tcp:server=Server,port=Socket[,password=Password][,ipversion=6] 

tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] 

com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] 

spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] 

ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] 

ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] 

Como alternativa, puede usar el botón Examinar para buscar servidores de procesos activos.

Los parámetros de los comandos anteriores tienen los siguientes valores posibles:

Depurador
Puede ser CDB o WinDbg.

Servidor
Este es el nombre de red o la dirección IP del equipo en el que se creó el servidor de procesos. Las dos barras diagonales inversas iniciales (\) son opcionales en la línea de comandos, pero no se permiten en el cuadro de diálogo WinDbg.

pipe=PipeName
Si se usa el protocolo NPIPE o SPIPE, PipeName es el nombre que se aplicó a la canalización cuando se creó el servidor de procesos.

Si no ha iniciado sesión en el equipo cliente con una cuenta que tenga acceso al equipo servidor, debe proporcionar un nombre de usuario y una contraseña. En el equipo cliente, en una ventana del símbolo del sistema, escriba el siguiente comando.

net use \\Server\ipc$ /user:UserName

donde Server es el nombre del equipo servidor y UserName es el nombre de una cuenta que tiene acceso al equipo servidor.

Cuando se le solicite, escriba la contraseña de UserName.

Una vez que este comando se realiza correctamente, puede activar un cliente inteligente mediante la opción de línea de comandos -premote o mediante la interfaz gráfica WinDbg.

Nota Es posible que tenga que habilitar el uso compartido de archivos e impresoras en el equipo servidor. En Panel de control, vaya a Red e Internet > y Configuración de uso compartido avanzado del Centro> de uso compartido. Seleccione Activar el uso compartido de archivos e impresoras.

port=Socket
Si se usa el protocolo TCP o SSL, Socket es el mismo número de puerto de socket que se usó cuando se creó el servidor de procesos.

clicon
Especifica que el servidor de procesos intentará conectarse al cliente inteligente a través de una conexión inversa. El cliente debe usar clicon si y solo si el servidor usa clicon. En la mayoría de los casos, el cliente inteligente se inicia antes del servidor de procesos cuando se usa una conexión inversa.

port=COMPort
Si se usa el protocolo COM, COMPort especifica el puerto COM que se va a usar. El prefijo "COM" es opcional; por ejemplo, "com2" y "2" son aceptables.

baud=BaudRate
Si se usa el protocolo COM, BaudRate debe coincidir con la velocidad de baudios elegida cuando se creó el servidor de procesos.

channel=COMChannel
Si se usa el protocolo COM, COMChannel debe coincidir con el número de canal elegido cuando se creó el servidor de procesos.

proto=Protocol
Si se usa el protocolo SSL o SPIPE, el protocolo debe coincidir con el protocolo seguro usado cuando se creó el servidor de procesos.

Cert
Si se usa el protocolo SSL o SPIPE, debe usar el parámetro certuser=Cert o machuser=Cert idéntico que se usó cuando se creó el servidor de procesos.

password=Password
Si se usó una contraseña cuando se creó el servidor de procesos, se debe proporcionar la contraseña para crear el cliente inteligente. Debe coincidir con la contraseña original. En las contraseñas se distingue entre mayúsculas y minúsculas. Si se proporciona la contraseña incorrecta, el mensaje de error especificará "Error 0x80004005".

ipversion=6
(Herramientas de depuración para Windows 6.6.07 y versiones anteriores) Obliga al depurador a usar la versión 6 de IP en lugar de la versión 4 cuando se usa TCP para conectarse a Internet. En Windows Vista y versiones posteriores, el depurador intenta realizar automáticamente el valor predeterminado de IP versión 6, lo que hace que esta opción no sea necesaria.

Opciones
Los parámetros de línea de comandos adicionales se pueden colocar aquí. Consulte Opciones de línea de comandos para obtener una lista completa. Si usa CDB, debe especificar el proceso que desea depurar. Si usa WinDbg, puede especificar el proceso en la línea de comandos o a través de la interfaz gráfica.

Puesto que el servidor de procesos simplemente actúa como puerta de enlace para el cliente inteligente, las opciones adicionales serán las mismas que las que usaría si estuviera iniciando un depurador en modo de usuario en la misma máquina que la aplicación de destino.

Si usa la opción -premote con .attach (Asociar al proceso) o .create (Crear proceso), los parámetros son los mismos que los enumerados anteriormente.

Solución de problemas

Si ve este mensaje: El cliente no usa la misma versión del protocolo de comunicación remota que el servidor , esto indica que la versión de DbgSrv a la que está intentando conectarse usa una versión de protocolo diferente a la versión de WinDbg.

Es poco frecuente que se realicen cambios en el protocolo. Cuando esto suceda, asegúrese de que usa las versiones coincidentes de la versión más reciente disponible de DbgSrv y WinDbg (clásico) o WinDbg. Para obtener información sobre cómo descargar la versión más reciente, vea Herramientas de depuración para Windows.