Exemplos de cliente e servidor
Suponha que uma pessoa esteja executando um aplicativo em um computador chamado \\BOX17. Esse aplicativo tem problemas, mas o técnico de depuração está em um site diferente.
A primeira pessoa configura um servidor de depuração usando o CDB em \\BOX17. O aplicativo de destino tem uma ID de processo de 122. O protocolo TCP é escolhido, com um número de porta de soquete de 1025. O servidor é iniciado inserindo o seguinte comando em uma janela do Prompt de Comando com privilégios elevados (Executar como Administrador):
E:\Debugging Tools for Windows> cdb -server tcp:port=1025 -p 122
No outro computador, o técnico decide usar o WinDbg como o cliente de depuração. Ele pode ser iniciado com este comando:
G:\Debugging Tools> windbg -remote tcp:server=BOX17,port=1025
Veja a seguir outro exemplo. Nesse caso, o protocolo NPIPE é escolhido e o CDB é usado em vez de WinDbg. O primeiro usuário escolhe um nome de pipe. Pode ser qualquer cadeia de caracteres alfanumérica – neste exemplo, "MainPipe". O primeiro usuário abre uma janela do Prompt de Comando com privilégios elevados (Executar como Administrador) e inicia um servidor de depuração inserindo este comando:
E:\Debugging Tools for Windows> cdb -server npipe:pipe=MainPipe -v winmine.exe
O técnico está conectado ao computador cliente com uma conta que não tem acesso ao computador servidor. Mas o técnico sabe o nome de usuário e a senha de uma conta que tem acesso ao computador servidor. O nome de usuário dessa conta é Contoso. O técnico insere o seguinte comando:
net use \\BOX17\ipc$ /user:Contoso
Quando solicitado, o técnico insere a senha da conta da Contoso.
O técnico não tem certeza de qual nome foi usado para o pipe nomeado, portanto, consulta box17 para servidores de depuração disponíveis.
G:\Debugging Tools> cdb -QR \\BOX17
Servers on \\BOX17:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe
Dois pipes são mostrados. No entanto, apenas um é um servidor de depuração – o outro é um servidor de processo e não estamos interessados nisso. Portanto, MainPipe deve ser o nome correto. O técnico usa o seguinte comando para iniciar o cliente de depuração:
G:\Debugging Tools> cdb -remote npipe:server=BOX17,pipe=MyPipe
Usando um servidor seguro
Aqui está um exemplo de um servidor seguro. Esse servidor usa uma camada de soquetes seguros com um protocolo S-Channel TLS1. O depurador procurará o certificado no repositório do computador. O certificado é especificado por sua impressão 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