Partilhar via


Ativando um cliente inteligente

Depois que o servidor de processo DbgSrv tiver sido ativado, você poderá criar um cliente inteligente em outro computador e iniciar uma sessão de depuração.

Há duas maneiras de iniciar um cliente inteligente: iniciando CDB ou WinDbg com a opção de linha de comando -premote ou usando a interface gráfica WinDbg.

Importante

Há considerações de segurança importantes ao usar a depuração remota. Para obter mais informações, incluindo informações sobre como habilitar o modo seguro, consulte Segurança durante a depuração remota e Considerações de segurança para ferramentas de depuração do Windows.

O protocolo do cliente inteligente deve corresponder ao protocolo do servidor de processo. A sintaxe geral para iniciar um cliente inteligente depende do protocolo usado. Existem as seguintes opções:

Métodos de conexão recomendados, com alguns de segurança adicionais

Debugger -premote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] [Options]

Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] [Options]

Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] [Options]

Debugger -premote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] [Options]

Métodos de conexão não seguros

Debugger -premote npipe:server=Server,pipe=PipeName[,password=Password] [Options]

Debugger -premote tcp:server=Server,port=Socket[,password=Password][,ipversion=6] [Options]

Debugger -premote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] [Options]

Para usar a interface gráfica para se conectar a um servidor de processo, o WinDbg deve estar no modo inativo -- ele deve ter sido iniciado sem parâmetros de linha de comando ou deve ter encerrado a sessão de depuração anterior. Selecione o arquivo | Conecte-se ao Stub Remoto comando de menu. Quando a caixa de diálogo Conectar ao Servidor de Stub Remoto for exibida, digite uma das seguintes cadeias de caracteres na caixa de texto Cadeia de conexão :

Métodos de conexão recomendados, com alguns de segurança adicionais

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 conexão não 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, você pode usar o botão Procurar para localizar servidores de processo ativos.

Parâmetros

Os parâmetros nos comandos anteriores têm os seguintes valores possíveis:

Depurador
Pode ser CDB ou WinDbg.

Server
Este é o nome da rede ou endereço IP do computador no qual o servidor de processo foi criado. As duas barras invertidas iniciais (\) são opcionais na linha de comando, mas não são permitidas na caixa de diálogo WinDgg.

pipe=PipeName
Se o protocolo NPIPE ou SPIPE for usado, PipeName é o nome que foi dado ao pipe quando o servidor de processo foi criado.

Se você não estiver conectado ao computador cliente com uma conta que tenha acesso ao computador servidor, deverá fornecer um nome de usuário e senha. No computador cliente, numa janela da Linha de Comandos, introduza o seguinte comando.

net use \\Server\ipc$ /user:UserName

onde Server é o nome do computador servidor e UserName é o nome de uma conta que tem acesso ao computador servidor.

Quando lhe for pedido, introduza a palavra-passe para Nome de Utilizador.

Depois que esse comando for bem-sucedido, você poderá ativar um cliente inteligente usando a opção de linha de comando -premote ou usando a interface gráfica WinDbg.

Observação Talvez seja necessário habilitar o compartilhamento de arquivos e impressoras no computador servidor. No Painel de Controle, navegue até Centro de Rede e Internet > Rede e Compartilhamento> Configurações avançadas de compartilhamento. Selecione Ativar a partilha de ficheiros e impressoras.

port=Socket
Se o protocolo TCP ou SSL for usado, de soquete será o mesmo número de porta de soquete que foi usado quando o servidor de processo foi criado.

clicon
Especifica que o servidor de processo tentará se conectar ao cliente inteligente por meio de uma conexão inversa. O cliente deve usar clicon se e somente se o servidor estiver usando clicon. Na maioria dos casos, o cliente inteligente é iniciado antes do servidor de processo quando uma conexão reversa é usada.

port=COMPort
Se o protocolo COM for usado, COMPort especifica a porta COM a ser usada. O prefixo "COM" é opcional -- por exemplo, "com2" e "2" são aceitáveis.

baud=BaudRate
Se o protocolo COM for usado, BaudRate deverá corresponder à taxa de transmissão escolhida quando o servidor de processo foi criado.

channel=COMChannel
Se o protocolo COM for usado, COMChannel deverá corresponder ao número do canal escolhido quando o servidor de processo foi criado.

proto=Protocolo
Se o protocolo SSL ou SPIPE for usado, protocolo deverá corresponder ao protocolo seguro usado quando o servidor de processo foi criado.

Cert
Se o protocolo SSL ou SPIPE for usado, você deverá usar o mesmo parâmetro certuser=Cert ou machuser=Cert que foi usado quando o servidor de processo foi criado.

password=Password
Se uma senha foi usada quando o servidor de processo foi criado, de senha deve ser fornecida para criar o cliente inteligente. Deve corresponder à palavra-passe original. As senhas diferenciam maiúsculas de minúsculas. Se a senha errada for fornecida, a mensagem de erro especificará "Erro 0x80004005".

ipversion=6
(Somente Ferramentas de Depuração para Windows 6.6.07 e versões anteriores) Força o depurador a usar IP versão 6 em vez de versão 4 ao usar TCP para se conectar à Internet. No Windows Vista e versões posteriores, o depurador tenta definir automaticamente o padrão para IP versão 6, tornando essa opção desnecessária.

Opções
Quaisquer parâmetros de linha de comando adicionais podem ser colocados aqui. Consulte Command-Line Opções para obter uma lista completa. Se você estiver usando CDB, isso deve especificar o processo que você deseja depurar. Se você estiver usando WinDbg, você pode especificar o processo na linha de comando ou através da interface gráfica.

Como o servidor de processo simplesmente atua como um gateway para o cliente inteligente, as opções de adicionais serão as mesmas que você usaria se estivesse iniciando um depurador de modo de usuário na mesma máquina que o aplicativo de destino.

Se você estiver usando a opção -premote com .attach (Anexar ao processo) ou .create (Criar processo), os parâmetros serão os mesmos listados acima.

Solução de problemas

Se você vir esta mensagem: O cliente não está usando a mesma versão do protocolo remoto que o servidor isso indica que a versão do DbgSrv que você está tentando se conectar está usando uma versão de protocolo diferente da versão do WinDbg.

É raro que sejam feitas alterações de protocolo. Quando isso acontecer, certifique-se de estar usando as versões correspondentes da versão mais recente disponível do DbgSrv e WinDbg (Classic) ou WinDbg. Para obter informações sobre como baixar a versão mais recente, consulte Ferramentas de Depuração para Windows.