Compartir a través de


Activación de un cliente inteligente (modo kernel)

Una vez activado el servidor de conexión KD, 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 KD o WinDbg con el protocolo de kernel kdsrv o mediante la interfaz gráfica de WinDbg.

Debe especificar el protocolo de transferencia remota que usa el servidor de conexión KD. También puede especificar el protocolo para la conexión de kernel real entre el servidor de conexión KD y el equipo de destino, o puede usar el valor predeterminado.

La sintaxis general para iniciar un cliente inteligente depende del protocolo usado. Existen las siguientes opciones:

Debugger -k kdsrv:server=@{npipe:server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:server=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Para usar la interfaz gráfica para conectarse a un servidor de conexión KD, 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 conexión KD activos.

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

Depurador
Puede ser KD o WinDbg.

Server
Este es el nombre de red o la dirección IP del equipo en el que se creó el servidor de conexión KD. 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 dio a la canalización cuando se creó el servidor de conexión KD.

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 -kdsrv o mediante la interfaz gráfica winDbg.

port= Enchufe
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 conexión KD.

clicon
Especifica que el servidor de conexión KD 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 conexión KD 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, tanto "com2" como "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 conexión KD.

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

proto= Protocolo
Si se usa el protocolo SSL o SPIPE, el protocolo debe coincidir con el protocolo seguro utilizado cuando se creó el servidor de conexión KD.

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 conexión KD.

password= Contraseña
Si se usó una contraseña cuando se creó el servidor de conexión KD, 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 establecer el valor predeterminado automático en la versión 6 de IP, lo que hace que esta opción sea innecesaria.

trans=@{ ConnectType }
Indica al depurador cómo conectarse al destino. Se permiten los siguientes protocolos de conexión de kernel:

com:port=ComPort,baud=BaudRate 
1394:channel=1394Channel[,symlink=1394Protocol] 
usb2:targetname=String 
com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
com:modem 

Para obtener información acerca de estos protocolos, consulte Getting Set Up for Debugging (Configuración de la depuración). Puede omitir cualquiera de los parámetros de estos protocolos( por ejemplo, puede decir trans=@{com:} y el depurador tendrá como valor predeterminado los valores especificados por las variables de entorno en el equipo donde se ejecuta KdSrv.

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.

Puesto que el servidor de conexión KD 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 de kernel en el equipo donde KdSrv se está ejecutando. La excepción a esto es cualquier opción que especifique una ruta de acceso o nombre de archivo se tomará como una ruta de acceso en el equipo donde se ejecuta el cliente inteligente.