logo
Contato | Sobre...        
rebarba rebarba

Rodrigo Strauss :: Blog


Como fazer debug remoto com o Visual C++ 7.1

Primeiro é necessário habilitar o servidor de debug na máquina remota:

  • Reze um pouco...
  • Compartilhe a pasta "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\Debugger" que está na sua máquina. Nesse exemplo, vou chamar a pasta compartilhada de vc7debug.
  • Baixe o PsExec do site do SysInternals. Esse aplicativo permite que você execute um programa em outra máquina pela rede, mesmo sem ter acesso via Terminal Sevices - contanto que você tenha permissões na máquina remota, é claro.
  • Execute o msvcmon.exe na máquina remota, usando o psexec. Rode a seguinte linha de comando NA SUA MÁQUINA:
    psexec \\MAQUINA_REMOTA -u DOMINIO\SEU_USUARIO \\SUA_MAQUINA\vc7debug\msvcmon.exe -tcpip -anyuser -timeout -1
  • O psexec vai pedir sua senha de rede, digite-a.

Uma das formas de se fazer debug é dar um attach em um processo que já está rodando. Essa é a forma mais simples, e funciona assim:

  • No Visual Studio, menu Tools >> Debug Processes...
  • Em Transport coloque TCP/IP, e em Name coloque o nome da máquina remota.
  • Clique em Refresh e a lista de processos da máquina remota deve aparecer.
  • Pronto. Agora é só selecionar um e clicar em Attach.

A outra forma - a mais complicada - é configurar o Visual Studio para que toda vez que você fizer o debug normal (F5, F10) ele conecte na máquina remota e execute o programa lá. Faça assim:

  • Antes de começar configurar o Visual Studio, compartilhe a pasta onde fica o executável na sua máquina (pasta Debug geralmente). Nesse exemplo vou compartilhar como bin_debug.
  • Abra as propriedades do projeto
  • No TreeView da esquerda escolha Debugging.
  • Em Working Directory configure o diretório de trabalho da máquina remota.
  • Em Remote Settings >> Connection escolha Remote via TCP/IP.
  • Em Remote Settings >> Remote Machine coloque o nome da máquina remota.
  • Em Remote Settings >> Remote Command, coloque \\SUA_MAQUINA\bin_debug\SEU_EXECUTAVEL.exe.
  • Clique em OK, e reze um pouco. Depois disso aperte F5 ou F10 e veja se o debug começa.

O problema mais comum nesse tipo de configuração é relativo a permissões. Se o Visual Studio reclamar que não consegue abrir o executável, rode o filemon NA MÁQUINA REMOTA e veja qual o motivo da falha.

Com essas configurações que eu passei, o msvcmon (servidor de debug) aceitará conexão de qualquer usuário, e isso pode ser um problema. Se precisar de mais segurança, veja os parâmetros do msvcmon (rode msvcmon /?) e configure a conexão via Named Pipes ao invés de TCP/IP.

ACHO que para o Visual C++ 8 os passos são os mesmos...


Em 17/05/2006 21:08, por Rodrigo Strauss


  
 
 
Comentários
Anderson Santos Silva(vulgo Pikachu) | em 17/05/2006 | #
Muito legal... já usei isso várias vezes, e o Debug Remoto do VC 7 é muito melhor que o do VC 6. Muito interessante compartilhar isso com o povo... ná época em que eu usava isso eu primeiro tomei uns tapas no VC 6, mas com o 7 foi tranquilo.

Muito legal tio Strauss!!!!
rebarba rebarba
  ::::