Activación de un servidor de depuración
Hay dos maneras de activar el servidor de depuración. Se puede activar cuando se inicia el depurador mediante la opción de línea de comandos -server en una ventana del símbolo del sistema con privilegios elevados (ejecutar como Administrador). También se puede activar después de ejecutar el depurador. Inicie el depurador con privilegios elevados (Ejecutar como administrador) y escriba el comando .server.
Nota Puede activar un servidor de depuración sin tener privilegios elevados y los clientes de depuración podrán conectarse al servidor. Sin embargo, los clientes no podrán detectar un servidor de depuración a menos que se active con privilegios elevados. Para obtener información sobre cómo detectar servidores de depuración, consulte Búsqueda de servidores de depuración.
Los depuradores admiten varios protocolos de transporte: canalización con nombre (NPIPE), TCP, puerto COM, canalización segura (SPIPE) y capa de sockets seguros (SSL).
La sintaxis general para activar un servidor de depuración depende del protocolo usado.
Debugger -server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [-noio] [Options]
Debugger -server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [-noio] [Options]
Debugger -server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [-noio] [Options]
Debugger -server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] [-noio] [Options]
Debugger -server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] [-noio] [Options]
Debugger -server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] [-noio] [Options]
Debugger -server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [-noio] [Options]
Otro método de activación de un servidor de depuración es usar el comando .server (Crear servidor de depuración) una vez iniciado el depurador.
.server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable]
.server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable]
.server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6]
.server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password]
.server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password]
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password]
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password]
Los parámetros de los comandos anteriores tienen los siguientes valores posibles:
Depurador
Puede ser KD, CDB, NTSD o WinDbg.
pipe= PipeName
Cuando se usa el protocolo NPIPE o SPIPE, PipeName es una cadena que servirá como nombre de la canalización. Cada nombre de canalización debe identificar un servidor de depuración único. Si intenta reutilizar un nombre de canalización, recibirá un mensaje de error. PipeName no debe contener espacios ni comillas. PipeName puede incluir un código numérico con formato printf-style, como %x o %d. El depurador lo reemplazará por el identificador de proceso del depurador. Un segundo código de este tipo se reemplazará por el identificador de subproceso del depurador.
Nota Es posible que tenga que habilitar el uso compartido de archivos e impresoras en el equipo que ejecuta el servidor de depuración. En Panel de control, vaya a Redes e Internet > Centro de redes y recursos compartidos> Configuración avanzada de uso compartido. Seleccione Activar el uso compartido de archivos e impresoras.
port= Enchufe
Cuando se usa el protocolo TCP o SSL, Socket es el número de puerto de socket.
También es posible especificar un intervalo de puertos separados por dos puntos. El depurador comprobará cada puerto de este intervalo para ver si está libre. Si encuentra un puerto libre y no se produce ningún error, se creará el servidor de depuración. El cliente de depuración tendrá que especificar el puerto real que se usa para conectarse al servidor. Para determinar el puerto real, use cualquiera de los métodos descritos en Buscar servidores de depuración; cuando se muestre este servidor de depuración, el puerto estará seguido de dos números separados por dos puntos. El primer número será el puerto real utilizado; se puede omitir el segundo. Por ejemplo, si el puerto se especificó como puerto=51:60 y el puerto 53 se usó realmente, los resultados de la búsqueda mostrarán "port=53:60". (Si usa el parámetro clicon para establecer una conexión inversa, el cliente de depuración puede especificar un intervalo de puertos de esta manera, mientras que el servidor debe especificar el puerto real usado).
clicon= Cliente
Cuando se usa el protocolo TCP o SSL y se especifica el parámetro clicon se abrirá una conexión inversa. Esto significa que el servidor de depuración intentará conectarse al cliente de depuración, en lugar de permitir que el cliente inicie el contacto. Esto puede ser útil si tiene un firewall que impide una conexión en la dirección habitual. Client especifica el nombre de red o dirección IP de la máquina en la que existe o se va a crear el cliente de depuración. Las dos barras diagonales inversas iniciales (\) son opcionales.
Puesto que el servidor busca un cliente específico, no puede conectar varios clientes al servidor si usa este método. Si la conexión se rechaza o se interrumpe, tendrá que reiniciar la conexión del servidor. Un servidor de conexión inversa no aparecerá cuando otro depurador muestre todos los servidores activos.
Nota Cuando se usa clicon, lo mejor es iniciar el cliente de depuración antes de crear el servidor de depuración, aunque también se permite el orden habitual (servidor antes del cliente).
port= COMPort
Cuando 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
Cuando se usa el protocolo COM, BaudRate especifica la velocidad de baudios a la que se ejecutará la conexión. Se permite cualquier velocidad de baudios compatible con el hardware.
channel= COMChannel
Si se usa el protocolo COM, COMChannel especifica el canal COM que se usará para comunicarse con el cliente de depuración. Puede ser cualquier valor entre 0 y 254, inclusive. Puede usar un único puerto COM para varias conexiones mediante números de canal diferentes. (Esto es diferente del uso de puertos COM para un cable de depuración, en esa situación no se pueden usar canales dentro de un puerto COM).
proto= Protocolo
Si se usa el protocolo SSL o SPIPE, el protocolo especifica el protocolo de canal seguro (Canal S). Puede ser cualquiera de las cadenas tls1, pct1, ssl2 o ssl3.
Cert
Si se usa el protocolo SSL o SPIPE, Cert especifica el certificado. Puede ser el nombre del certificado o la huella digital del certificado (la cadena de dígitos hexadecimales proporcionada por el complemento del certificado). Si se usa la sintaxis certuser=Cert , el depurador buscará el certificado en el almacén del sistema (el almacén predeterminado). Si se usa la sintaxis machuser=Cert , el depurador buscará el certificado en el almacén de la máquina. El certificado especificado debe admitir la autenticación del servidor.
escondido
Impide que el servidor aparezca cuando otro depurador muestre todos los servidores activos.
password= Contraseña
Requiere un cliente para proporcionar la contraseña especificada para conectarse a la sesión de depuración. Contraseña puede ser cualquier cadena alfanumérica, de hasta doce caracteres de longitud.
Advertencia El uso de una contraseña con el protocolo TCP, NPIPE o COM solo ofrece una pequeña cantidad de protección, ya que la contraseña no está cifrada. Cuando se usa una contraseña con el protocolo SSL o SPIPE, se cifra. Si desea establecer una sesión remota segura, debe usar el protocolo SSL o SPIPE.
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.
-noio
Si el servidor de depuración se crea con la opción -noio, no se puede realizar ninguna entrada o salida a través del propio servidor. El depurador solo aceptará la entrada del cliente de depuración (además de cualquier comando inicial o script de comandos especificado por la opción de línea de comandos -c). Toda la salida se dirigirá al cliente de depuración. La opción -noio solo está disponible con KD, CDB y NTSD. Si se usa NTSD para el servidor, no se creará ninguna ventana de consola.
IcfEnable
Hace que el depurador habilite las conexiones de puerto necesarias para la comunicación de canalización TCP o con nombre cuando el firewall de conexión a Internet está activo. De forma predeterminada, el firewall de conexión a Internet deshabilita los puertos usados por estos protocolos. Cuando se usa IcfEnable con una conexión TCP, el depurador hace que Windows abra el puerto especificado por el parámetro Socket. Cuando se usa IcfEnable con una conexión de canalización con nombre, el depurador hace que Windows abra los puertos usados para canalizaciones con nombre (puertos 139 y 445). El depurador no cierra estos puertos una vez finalizada la conexión.
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.
Puede usar el comando .server para iniciar varios servidores mediante diferentes opciones de protocolo. Esto permite que diferentes tipos de clientes de depuración se unan a la sesión.
Consulte también
Control de una sesión de depuración remota
.endsrv (Servidor de depuración final)