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 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.
Importante
Hay consideraciones de seguridad importantes al usar la depuración remota. Para obtener más información, incluida la información sobre cómo habilitar el modo seguro, consulta Security During Remote Debugging and Security Considerations for Windows Debugging Tools.
La sintaxis general para iniciar un cliente inteligente depende del protocolo usado. Existen las siguientes opciones:
métodos de conexión recomendados, con algunos de seguridad adicionales
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]
Debugger -k kdsrv:server=@{com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]},trans=@{ConnectType} [Options]
métodos de conexión no seguros
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]
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ú de 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:
métodos de conexión recomendados, con algunos de seguridad adicionales
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]
com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
métodos de conexión no seguros
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]
Como alternativa, puede usar el botón Examinar
Los parámetros de los comandos anteriores tienen los siguientes valores posibles:
del depurador de
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 Servidor es el nombre del equipo servidor y NombreDeUsuario 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 -k k kdsrv o mediante la interfaz gráfica de WinDbg.
puerto de
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=Protocol
Si se usa el protocolo SSL o SPIPE, Protocol debe coincidir con el protocolo seguro usado cuando se creó el servidor de conexión KD.
cert de
Si se usa el protocolo SSL o SPIPE, debe usar el parámetro certuser= idénticoCert o Cert parámetro que se usó cuando se creó el servidor de conexión KD.
password=password
Si se usó una contraseña cuando se creó el servidor de conexión KD, se debe proporcionar contraseña para crear el cliente inteligente. Debe coincidir con la contraseña original. Las contraseñas distinguen mayúsculas de 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
usb2:targetname=String
com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
com:modem
Para obtener información sobre estos protocolos, vea Getting Set Up for Debugging. 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 de
Los parámetros de línea de comandos adicionales se pueden colocar aquí. Consulte Command-Line Opciones 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 de 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.