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 o CDB ou o 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 de 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. As seguintes opções existem:
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 terminado a sessão de depuração anterior. Selecione o arquivo | Conecte-se ao comando de menu Stub Remoto. Quando a caixa de diálogo Conectar ao Servidor Stub Remoto for exibida, insira uma das seguintes cadeias de caracteres na cadeia de caracteres Conexão caixa de texto:
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
Isso pode ser CDB ou WinDbg.
do servidor
Esse é o nome da rede ou o endereço IP do computador no qual o servidor de processo foi criado. As duas barras iniciais (\) são opcionais na linha de comando, mas não são permitidas na caixa de diálogo WinDbg.
pipe=PipeName
Se o protocolo NPIPE ou SPIPE for usado, PipeName será o nome fornecido 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 do servidor, deverá fornecer um nome de usuário e uma senha. No computador cliente, em uma janela do Prompt de Comando, insira o comando a seguir.
net use \\Server\ipc$ /user:UserName
em que Server é o nome do computador servidor e UserName é o nome de uma conta que tem acesso ao computador servidor.
Quando for solicitado, insira a senha para UserName.
Depois que esse comando for bem-sucedido, você poderá ativar um cliente inteligente usando a opção -premote linha de comando ou usando a interface gráfica do WinDbg.
Observação Talvez seja necessário habilitar o compartilhamento de arquivos e impressoras no computador do servidor. No Painel de Controle, navegue até Rede e Internet > Rede e Centro de Compartilhamento> Configurações avançadas de compartilhamento. Selecione Ativarde compartilhamento de arquivo e impressora.
Se o protocolo TCP ou SSL for usado, 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 inversa é usada.
porta= COMPort
Se o protocolo COM for usado, COMPort especificar 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 baud escolhida quando o servidor de processo foi criado.
channel= COMChannel
Se o protocolo COM for usado, COMChannel deverá corresponder ao número de canal escolhido quando o servidor de processo foi criado.
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 parâmetro certuser=Cert ou machuser=parâmetro Cert usado quando o servidor de processo foi criado.
password=Password
Se uma senha tiver sido usada quando o servidor de processo foi criado, senha deverá ser fornecida para criar o cliente inteligente. Ele deve corresponder à senha original. As senhas diferenciam maiúsculas de minúsculas. Se a senha errada for fornecida, a mensagem de erro especificará "Erro 0x80004005".
ipversion=6
(Ferramentas de depuração para Windows 6.6.07 e somente anteriores) Força o depurador a usar o IP versão 6 em vez da versão 4 ao usar o TCP para se conectar à Internet. No Windows Vista e versões posteriores, o depurador tenta fazer o padrão automático para o IP versão 6, tornando essa opção desnecessária.
opções de
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 o CDB, isso deverá especificar o processo que deseja depurar. Se você estiver usando o WinDbg, poderá especificar o processo na linha de comando ou por meio 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 você estivesse iniciando um depurador no modo de usuário no mesmo computador 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.
Solucionando problemas
Se você vir esta mensagem: O cliente não está usando a mesma versão do protocolo de comunicação remota que o servidor isso indica que a versão do DbgSrv à qual você está tentando se conectar está usando uma versão de protocolo diferente da versão do WinDbg.
É incomum que alterações de protocolo sejam feitas. Quando isso acontecer, certifique-se de que você esteja usando as versões correspondentes da versão mais recente disponível do DbgSrv e WinDbg (Clássico) ou WinDbg. Para obter informações sobre como baixar a versão mais recente, consulte Ferramentas de Depuração para Windows.