Ativando um repetidor
Para ativar a conexão do repetidor, você geralmente iniciará o servidor e iniciará o repetidor e iniciará o cliente.
Também é possível iniciar o repetidor primeiro e depois o servidor. Mas, a menos que você esteja usando o parâmetro clicon para estabelecer uma conexão inversa, o cliente sempre deve ser iniciado por último.
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.
Etapa Um: Iniciando o servidor
O servidor pode ser um servidor de depuração, um servidor de processo ou um servidor de conexão KD. Inicie isso como faria normalmente, exceto que as configurações do protocolo de transporte serão usadas para se conectar ao repetidor, não ao cliente. Para obter detalhes, consulte Ativando um servidor de depuração, ativando um servidor de processoou ativando um servidor de conexão KD.
Se você usar uma senha ao criar o servidor, essa senha será necessária quando o cliente for anexado, mas não quando o repetidor for criado.
Se você usar o parâmetro oculto, o servidor ficará oculto como de costume. O repetidor em si está sempre oculto.
Etapa Dois: Iniciando o Repetidor
O repetidor incluído nas Ferramentas de Depuração para Windows é chamado DbEngPrx (dbengprx.exe).
O DbEngPrx entende os seguintes protocolos de transporte: pipe nomeado (NPIPE), TCP e porta COM.
Se o cliente e o servidor estiverem usando o protocolo SSL (secure sockets layer), você deverá usar o protocolo TCP para o repetidor. Se o cliente e o servidor estiverem usando o protocolo SPIPE (pipe seguro), você deverá usar o protocolo NPIPE para o repetidor. O repetidor transmitirá todos os dados recebidos. Ele não interpreta, criptografa ou descriptografa nenhuma informação. Toda a criptografia e descriptografia serão feitas pelo cliente e pelo servidor.
A sintaxe da linha de comando DbEnPrx é a seguinte:
dbengprx [-p] -cClientTransport-sServerTransport
Os parâmetros nos comandos anteriores têm os seguintes valores possíveis:
-p
Faz com que o DbEngPrx continue existente mesmo depois que todas as conexões com ele forem descartadas.
ClientTransport
Especifica as configurações de protocolo a serem usadas na conexão com o servidor. O protocolo deve corresponder ao usado quando o servidor foi criado. As sintaxes de protocolo são as seguintes:
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]
Os parâmetros de protocolo têm os seguintes significados:
do servidor
Esse é o nome da rede ou o endereço IP do computador no qual o servidor foi criado. As duas barras iniciais (\) são opcionais.
pipe=PipeName
Se o protocolo NPIPE ou SPIPE for usado, PipeName será o nome fornecido ao pipe quando o servidor foi criado.
Se o protocolo TCP ou SSL for usado, soquete será o mesmo número de porta de soquete que foi usado quando o servidor foi criado.
clicon
Especifica que o servidor tentará se conectar ao repetidor por meio de uma conexão inversa.
ClientTransport deve usar clicon se e somente se o servidor estiver usando clicon. Na maioria dos casos, o repetidor é iniciado antes do servidor 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 foi criado.
channel= COMChannel
Se o protocolo COM for usado, COMChannel deverá corresponder ao número de canal escolhido quando o servidor foi criado.
password=Password
Se uma senha tiver sido usada quando o servidor foi criado, senha deverá ser fornecida para criar o cliente de depuração. 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.
ServerTransport
Especifica as configurações de protocolo que serão usadas quando o cliente se conectar ao repetidor. As sintaxes de protocolo possíveis são:
npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable]
tcp:port=Socket[,hidden][,password=Password][,IcfEnable]
tcp:port=Socket,clicon=Client[,password=Password]
com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password]
Os parâmetros de protocolo têm os seguintes significados:
pipe=PipeName
Quando o protocolo NPIPE ou SPIPE é usado, PipeName é uma cadeia de caracteres que servirá como o nome do pipe. Cada nome de pipe deve identificar um repetidor exclusivo. Se você tentar reutilizar um nome de pipe, receberá uma mensagem de erro.
pipeName não deve conter espaços ou aspas.
Quando o protocolo TCP ou SSL é usado, soquete é o número da porta do soquete.
Também é possível especificar um intervalo de portas separadas por dois-pontos. O DbEngPrx verificará cada porta nesse intervalo para ver se ela é gratuita. Se encontrar uma porta gratuita e nenhum erro ocorrer, o repetidor será criado. O cliente precisará especificar a porta real que está sendo usada para se conectar ao repetidor. Para determinar a porta real, pesquise o repetidor; quando esse repetidor for exibido, a porta será seguida por dois números separados por dois-pontos. O primeiro número será a porta real usada; o segundo pode ser ignorado. Por exemplo, se a porta foi especificada como porta=51:60e a porta 53 foi realmente usada, os resultados da pesquisa mostrarão "port=53:60". (Se você estiver usando o parâmetro clicon para estabelecer uma conexão inversa, o cliente poderá especificar um intervalo de portas dessa maneira, enquanto o repetidor deverá especificar a porta real usada.)
clicon=client
Quando o protocolo TCP ou SSL é usado e o parâmetro clicon é especificado, uma conexão inversa será aberta. Isso significa que o repetidor tentará se conectar ao cliente, em vez de permitir que o cliente inicie o contato. Isso pode ser útil se você tiver um firewall que esteja impedindo uma conexão na direção usual.
Cliente especifica o nome da rede ou o endereço IP do computador no qual o cliente existe ou será criado. As duas barras iniciais (\) são opcionais.
Como o repetidor está procurando um cliente específico, você não pode conectar vários clientes ao repetidor se usar esse método. Se a conexão for recusada ou estiver interrompida, você precisará reiniciar o repetidor.
Quando clicon é usado, é melhor iniciar o cliente antes que o repetidor seja criado, embora a ordem usual (repetidor antes do cliente) também seja permitida.
porta= COMPort
Quando o protocolo COM é usado, COMPort especifica a porta COM a ser usada. O prefixo "COM" é opcional , por exemplo, "com2" e "2" são aceitáveis. Não é possível usar a mesma porta COM no
baud= BaudRate
Quando o protocolo COM é usado, BaudRate especifica a taxa de baud na qual a conexão será executada. Qualquer taxa de baud compatível com o hardware é permitida. Se você estiver usando o protocolo COM no ClientTransport e no ServerTransport poderá especificar taxas de baud diferentes, mas, naturalmente, a taxa mais lenta será o limite de quão rápido o cliente e o servidor podem se comunicar entre si.
channel= COMChannel
Se o protocolo COM for usado, comChannel especificar o canal COM a ser usado na comunicação com o cliente. Isso pode ser qualquer valor entre 0 e 254, inclusive. Você pode usar uma única porta COM para várias conexões usando números de canal diferentes. (Isso é diferente do uso de portas COM para um cabo de depuração – nessa situação, você não pode usar canais dentro de uma porta COM.)
oculto
Impede que o servidor apareça quando outro depurador exibe todos os servidores ativos.
password=Password
Requer que um cliente forneça a senha especificada para se conectar à sessão de depuração.
de senha pode ser qualquer cadeia de caracteres alfanumérica.
IcfEnable
Faz com que o depurador habilite as conexões de porta necessárias para a comunicação de pipe TCP ou nomeada quando o Firewall de Conexão da Internet estiver ativo. Por padrão, o Firewall de Conexão com a Internet desabilita as portas usadas por esses protocolos. Quando
Etapa Três: Iniciando o cliente
O cliente deve ser um cliente de depuração ou um cliente inteligente, o que corresponder ao tipo de servidor. Para obter detalhes, consulte Ativando um cliente de depuração, ativando um cliente inteligenteou ativando um cliente inteligente (modo Kernel).
Se o servidor rejeitar a conexão (por exemplo, se você fornecer uma senha incorreta), o repetidor e o cliente serão desligados. Você precisará reiniciar ambos para restabelecer o contato com o servidor.