Rodrigo Strauss :: Blog
![]() |
Follow @rodrigostrauss |
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
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!!!!