Olá amigos leitores! Nesse artigo gostaria de lhes passar um recurso muito bacana que pode salvar a vida de muita gente dependendo da complexidade do problema encontrado no projeto.
Esse recurso é o "Remote Debbuger Server", que vem no pacote
de instalação do Delphi (nesse artigo estou usando o Delphi 5, mas para Delphi 7
os passos são os mesmos).
A principal função desse recurso é possibilitar que uma máquina de desenvolvimento qualquer (um cliente) possa "debbugar" remotamente uma aplicação que esteja rodando em ambiente de produção
(um servidor).
Vou citar um exemplo prático. Certa vez preparei um Build de um projeto
intraweb que rodava sem nenhum problema na máquina onde o desenvolvi,
mas quando o cliente foi executa-lo, os relatórios sempre apresentavam
erro. Tentei inúmeras alternativas e estava quase desistindo quando
um amigo pediu para eu testar o "Remote Debbuger Server".
Fiz um teste deixando o executável em um servidor onde não tinha Delphi instalado (com a finalidade de simular o ambiente do servidor do cliente) e da minha máquina consegui observar o comportamento do sistema no servidor. Assim consegui resolver o problema dos relatórios.
Bom, chega de conversa e vamos praticar:
No servidor, onde ficará a nossa aplicação a ser testada
instale o "Remote Debbuger Server".

Figura 1 - Instalando o Remote Debugger Server
Após a instalação, execute-o.

Figura 2 - Executando o programa instalado
Repare que o ícone de um inseto verde aparecerá na barra de ferramenta próximo ao relógio
do Windows.

Figura 3 - Ícone que indica o funcionamento do programa na barra de tarefas.
Agora iremos testar uma aplicação.
Abra no delphi um projeto qualquer, que possa ser utilizado para teste, e em
seguida clique em:
Project -> Options -> Linker e marque a opção "Include
Remote Debug Symbols".

Figura 4 - Configurando o projeto para ser depurado remotamente
Compile o projeto e em seguida copie os arquivos .exe e .rsm
para o servidor, em uma pasta de sua preferência.
Novamente no Delphi clique em Run -> Attach to Process.
Verifique se uma lista de processos está sendo exibida e propositalmente
coloque o ip da sua máquina (de desenvolvimento). Nenhum processo deve
ser listado e a mensagem "Unable to connect to remote host" será retornada.
Em seguida, troque o ip digitando o ip do servidor onde deve estar rodando
o "Remote
Debbuger Server",
assim a listagem deve ser atualizada com os processos do servidor.

Figura 5 - Processos em execução no IP indicado no campo "Remote Machine"
Feche a janela Attach to Process e clique em Run -> Parameters -> Remote.
No campo "Remote
Path", digite o caminho da pasta junto com o nome do executável,
e em "Remote Host", digite o IP do servidor onde
está o executável e depois clique em "Load".

Figura 6 - Parâmetros de execução para o projeto a ser
compilado.
Dessa forma o Delphi iniciará a aplicação como se você estivesse
compilado com a tecla F8, mas desse passo em diante basta rodar a aplicação
deixando o breakpoint em algum lugar do código, para você conseguir
visualizar o executável rodando no servidor e parando de executar exatamente
onde foi colocado o breakpoint, e daí em diante você poderá continuar
a executar pelo código
fonte.
É isso aí pessoal, espero que esse artigo possa ajudar. Dúvidas
ou sugestões mandem e-mail!
João
Marcos
Contato: jsakalauska@gmail.com
|