Compartir a través de


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 el -server opción de línea de comandos 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, vea Búsqueda de servidores de depuración.

Importante

Hay consideraciones de seguridad importantes adicionales al usar la depuración remota, para obtener más información, incluida la información sobre cómo habilitar el modo seguro, consulta Seguridad durante la depuración remota y consideraciones de seguridad de para herramientas de depuración de Windows.

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.

métodos de conexión recomendados, con algunos de seguridad adicionales

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]

métodos de conexión no seguros

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]

Otro método de activación de un servidor de depuración consiste en usar el comando .server (Crear servidor de depuración) una vez iniciado el depurador.

métodos de conexión recomendados, con algunos de seguridad adicionales

.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] 

métodos de conexión no seguros

.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] 

Parámetros

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

del depurador de
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 de formato printf estilo, 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 el Panel de control, vaya a Red e Internet > Centro de red y uso compartido> Configuración de uso compartido avanzado. Seleccione Activar el uso compartido de archivos e impresoras.

puerto de = socket de
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 es gratis. 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 muestra 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 port=51:60y el puerto 53 se usó realmente, los resultados de la búsqueda mostrarán "port=53:60". (Si usa el clicon parámetro 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 de =cliente
Cuando se usa el protocolo TCP o SSL y se especifica el parámetro clicon , se abrirá un 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. cliente especifica el nombre de red o la dirección IP del equipo en el que existe o se 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, es mejor 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, ambos incluidos. 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=Protocol
Si se usa el protocolo SSL o SPIPE, Protocol especifica el protocolo de canal seguro (canal S). Puede ser cualquiera de las cadenas tls1, pct1, ssl2 o ssl3.

cert de
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 proporcionado 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 Cert, el depurador buscará el certificado en el almacén de máquinas. El certificado especificado debe admitir la autenticación del servidor.

ocultas
Impide que el servidor aparezca cuando otro depurador muestre todos los servidores activos.

password=password
Requiere que un cliente proporcione la contraseña especificada para conectarse a la sesión de depuración. contraseña puede ser cualquier cadena alfanumérica, hasta doce caracteres de longitud.

Importante

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 junto con un protocolo SSL o SPIPE, la contraseña se cifra. Si desea establecer una sesión remota más 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 tcp o canalización 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 IcfEnable se usa con una conexión TCP, el depurador hace que Windows abra el puerto especificado por el parámetro Socket. Cuando IcfEnable se usa 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 de
Los parámetros de línea de comandos adicionales se pueden colocar aquí. Consulte Command-Line Opciones 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

controlar una sesión de depuración remota

.endsrv (End Debugging Server)