Depurando COM+ no Delphi7
Coletado e compilado por Liu Xiaoming (Cipher)
A questão mais problemática no desenvolvimento de sistemas de aplicativos COM+ é como depurar componentes COM+. Como o COM+ é executado no ambiente de execução COM+, os programadores Delphi não podem definir pontos de interrupção diretamente no servidor de aplicativos para depuração no IDE do Delphi, como o sistema de aplicativos distribuído de várias camadas do Delphi.
Na verdade, o Delphi ainda pode depurar componentes COM+ no ambiente de desenvolvimento integrado do Delphi ou permitir que os programadores definam pontos de interrupção na unidade de programa do componente COM+ no ambiente de desenvolvimento integrado e, em seguida, executem o aplicativo cliente para chamar o componente COM+. Neste momento, o Delphi trará o controle de execução para o ambiente de desenvolvimento integrado do Delphi e fará uma pausa no ponto de interrupção definido pelo programador para permitir que o programador inicie a depuração. De agora em diante, os programadores podem depurar componentes COM+ da mesma forma que depuram aplicativos normais. Entretanto, para depurar componentes COM+ dessa forma, os programadores devem primeiro fazer algumas configurações.
1. Ative o projeto do componente COM+ a ser depurado no ambiente de desenvolvimento integrado do Delphi, clique no menu PRojects|Options, selecione a página Linker na caixa de diálogo pop-up e selecione incluir informações Td32 e incluir símbolo de depuração remota;
2. Clique no menu Run|Install Com+ Objects para registrar o componente COM+, preferencialmente para uma nova aplicação ou para uma aplicação existente (esta aplicação precisa ser gerada pelo programa COM registrado do Delphi).
3. Execute Painel de Controle do Win2000 | Ferramentas Administrativas | Serviços de Componentes, encontre o aplicativo COM registrado no aplicativo COM+, clique com o botão direito, selecione o menu "Propriedades", na caixa de diálogo pop-up, selecione a página "Avançado" e selecione A opção "Iniciar no depurador" terá algo semelhante ao seguinte no caminho de depuração abaixo: "C:/Arquivos de Programas/Borland/Delphi7/Bin/bordbg70.exe" dllhost.exe /ID do processo:{9CEC476D-83A5-4C2B-AFF1-3E83A147B866}
4. Retorne ao ambiente de desenvolvimento integrado do Delphi, clique no menu Run|Parameters e na caixa de diálogo defina Hostapplication como: C:/WINNT/system32/DLLHOST.EXE (deve ser configurado de acordo com a situação de instalação do seu sistema operacional). Os parâmetros são definidos como: /ProcessID:{9CEC476D-83A5-4C2B-AFF1-3E83A147B866}; o valor deste GUID deve ser consistente com o valor do atributo no serviço do componente Win2000 e pode ser copiado diretamente de lá.
5. Definir pontos de interrupção e executar COM no ambiente de desenvolvimento integrado Delphi;
6. Execute o programa cliente que chama este COM no Windows (ou no ambiente Delphi recém-aberto).
Neste momento, você descobrirá que o COM no ambiente de desenvolvimento Delphi para no ponto de interrupção e pode prosseguir com o rastreamento e a depuração em uma única etapa.