Ejemplos de cliente y servidor
Supongamos que una persona está ejecutando una aplicación en un equipo denominado \\BOX17. Esta aplicación tiene problemas, pero el técnico de depuración está en otro sitio.
La primera persona configura un servidor de depuración mediante CDB en \\BOX17. La aplicación de destino tiene un identificador de proceso de 122. Se elige el protocolo TCP, con un número de puerto de socket de 1025. El servidor se inicia escribiendo el siguiente comando en una ventana del símbolo del sistema con privilegios elevados (ejecutar como administrador):
E:\Debugging Tools for Windows> cdb -server tcp:port=1025 -p 122
En el otro equipo, el técnico decide usar WinDbg como cliente de depuración. Se puede iniciar con este comando:
G:\Debugging Tools> windbg -remote tcp:server=BOX17,port=1025
Aquí tiene otro ejemplo. En este caso, se elige el protocolo NPIPE y se usa CDB en lugar de WinDbg. El primer usuario elige un nombre de canalización. Puede ser cualquier cadena alfanumérica: en este ejemplo, "MainPipe". El primer usuario abre una ventana del símbolo del sistema con privilegios elevados (ejecutar como administrador) e inicia un servidor de depuración escribiendo este comando:
E:\Debugging Tools for Windows> cdb -server npipe:pipe=MainPipe -v winmine.exe
El técnico ha iniciado sesión en el equipo cliente con una cuenta que no tiene acceso al equipo servidor. Pero el técnico conoce el nombre de usuario y la contraseña de una cuenta que tiene acceso al equipo servidor. El nombre de usuario de esa cuenta es Contoso. El técnico escribe el siguiente comando:
net use \\BOX17\ipc$ /user:Contoso
Cuando se le solicite, el técnico escribe la contraseña de la cuenta de Contoso.
El técnico no está seguro de qué nombre se usó para la canalización con nombre, por lo que consultan BOX17 para los servidores de depuración disponibles.
G:\Debugging Tools> cdb -QR \\BOX17
Servers on \\BOX17:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe
Se muestran dos canalizaciones. Sin embargo, solo uno es un servidor de depuración: el otro es un servidor de procesos y no estamos interesados en ello. Por lo tanto , MainPipe debe ser el nombre correcto. El técnico usa el siguiente comando para iniciar el cliente de depuración:
G:\Debugging Tools> cdb -remote npipe:server=BOX17,pipe=MyPipe
Uso de un servidor seguro
Este es un ejemplo de un servidor seguro. Este servidor usa la capa de sockets seguros con un protocolo S-Channel de TLS1. El depurador buscará el certificado en el almacén de máquinas. El certificado se especifica mediante su huella digital hexadecimal.
D:\> cdb -server "ssl:proto=tls1,machuser=ab 38 f7 ae 13 20 ac da 05 14 65 60 30 83 7b 83 09 2c d2 34,port=1234" notepad.exe