Compartilhar via


Ativando um Smart Client (Modo Kernel)

Depois que o servidor de conexão KD for 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 KD ou o WinDbg com o protocolo de kernel kdsrv ou usando a interface gráfica do WinDbg.

Você precisa especificar o protocolo de transferência remota usado pelo servidor de conexão KD. Você também pode especificar o protocolo para a conexão real do kernel entre o servidor de conexão KD e o computador de destino ou pode usar o padrão.

A sintaxe geral para iniciar um cliente inteligente depende do protocolo usado. As seguintes opções estão disponíveis:

Debugger -k kdsrv:server=@{npipe:server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:server=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Para usar a interface gráfica para se conectar a um servidor de conexão KD, 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 comando de menu Stub remoto. Quando a caixa de diálogo Conectar ao Servidor de Stub Remoto for exibida, insira uma das seguintes cadeias de caracteres na caixa de texto Cadeia de conexão :

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] 

com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] 

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] 

Como alternativa, você pode usar o botão Procurar para localizar servidores de conexão KD ativos.

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

Depurador
Isso pode ser KD ou WinDbg.

Servidor
Este é o nome da rede ou endereço IP do computador no qual o servidor de conexão KD 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 WinDbg.

tubo= Nome do Tubo
Se o protocolo NPIPE ou SPIPE for usado, PipeName será o nome que foi dado ao pipe quando o servidor de conexão KD 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 uma senha. No computador cliente, em uma janela do Prompt de Comando, digite o comando a seguir.

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

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

Quando solicitado, digite a senha para UserName.

Depois que esse comando for bem-sucedido, você poderá ativar um cliente inteligente usando -k kdsrv ou usando a interface gráfica do WinDbg.

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

clique
Especifica que o servidor de conexão KD tentará se conectar ao cliente inteligente por meio de uma conexão reversa. 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 conexão KD quando uma conexão reversa é usada.

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

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

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

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

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

senha= Senha
Se uma senha foi usada quando o servidor de conexão KD foi criado, a senha deve 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 o Windows 6.6.07 e versões anteriores somente) Força o depurador a usar IP versão 6 em vez da versão 4 ao usar TCP para se conectar à Internet. No Windows Vista e versões superiores, o depurador tenta padronizar automaticamente o IP versão 6, tornando essa opção desnecessária.

trans=@{ ConnectType }
Informa ao depurador como se conectar ao destino. Os seguintes protocolos de conexão do kernel são permitidos:

com:port=ComPort,baud=BaudRate 
usb2:targetname=String 
com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
com:modem 

Para obter informações sobre esses protocolos, consulte Configurando para depuração. Você pode omitir qualquer um dos parâmetros para esses protocolos – por exemplo, você pode dizer trans=@{com:} – e o depurador usará como padrão os valores especificados pelas variáveis de ambiente no computador em que o KdSrv está sendo executado.

Opções
Os parâmetros de linha de comando adicionais podem ser inseridos aqui. Confira Opções de linha de comando para obter uma lista completa.

Como o servidor de conexão KD simplesmente atua como um gateway para o cliente inteligente, as opções adicionais serão as mesmas que você usaria se estivesse iniciando um depurador de kernel no computador em que o KdSrv está sendo executado. A exceção a isso é qualquer opção que especifique que um caminho ou nome de arquivo será usado como um caminho no computador em que o cliente inteligente está sendo executado.