Compartilhar via


Servidor COM e depuração de contêiner

Aplicativos COM executam várias tarefas fora do controle direto do programador.Contagens de uso de comunicação entre DLLs, objetos e operações da área de transferência são apenas algumas das áreas onde você pode encontrar um comportamento inesperado.Quando isso acontece, a primeira etapa é rastrear a origem do problema.

Depurador Visual Studio oferece suporte a depuração em e em recipientes e servidores.Isso inclui a capacidade para a etapa em chamadas de procedimento remoto (RPC).

Neste tópico.

  1. Debugging a COM Server and Container in the Same Solution

  2. Debugging a Server Application Without Container Information

  3. Debugging a Server and Domain Isolation (SDI) Application

Depuração de um servidor COM e o contêiner na mesma solução

Você pode depurar um servidor COM e o contêiner usando dois projetos na mesma solução.Definir pontos de interrupção apropriados em cada projeto e de depuração.Quando o contêiner faz uma chamada para o servidor que atinge um ponto de interrupção, o recipiente aguardará até que o código de servidor retorna (ou seja, até concluir a depuração-lo).Você também pode rastrear em chamadas que passam através de limites de processo.Para obter mais informações, consulte A Macro de rastreamento.

Depurar um contêiner COM é semelhante a depuração de um programa padrão.Uma diferença é quando você depurar um evento que gera um retorno de chamada (como arrastar dados sobre o aplicativo de contêiner).Nesse caso, você deve definir um ponto de interrupção na função de retorno de chamada.

Depurando um aplicativo de servidor sem contêiner informações

Se você não tem ou não deseja usar informações de depuração para seu aplicativo de contêiner, iniciar depurar o aplicativo de servidor é um processo de três etapas:

  1. Inicie a depuração no servidor como um aplicativo normal.

  2. Defina pontos de interrupção conforme desejado.

  3. Inicie o aplicativo de contêiner.

Depurando um aplicativo de isolamento (SDI) do domínio e servidor

Se você estiver depurando um aplicativo de servidor SDI, você deve especificar /Embedding ou /Automation na argumentos de linha de comando propriedade no projeto caixa de diálogo Property Pages para projetos C/C++, C# ou Visual Basic.

Com estes argumentos de linha de comando, o depurador pode iniciar o aplicativo de servidor que foram iniciados a partir de um recipiente.Iniciar o recipiente do Gerenciador de programas ou Gerenciador de arquivos causará o contêiner usar a instância do servidor foi iniciado no depurador.

Para acessar o projeto caixa de diálogo Property Pages, clique com o botão direito do projeto no Solution Explorer e escolha Propriedades no menu de atalho.Para localizar a propriedade de argumentos de linha de comando, expanda a categoria de propriedades de configuração e clique na página de depuração.

Consulte também

Outros recursos

COM e depuração de ActiveX