Compartilhar via


Gerenciador de depuração de sessão

O SDM (gerenciador de depuração de sessão) gerencia qualquer número de DE (mecanismos de depuração) que estão depurando qualquer número de programas em vários processos em qualquer número de computadores. Além de ser um multiplexer do mecanismo de depuração, o SDM fornece uma exibição unificada da sessão de depuração para o IDE.

Operação do gerenciador de depuração de sessão

O SDM (gerenciador de depuração de sessão) gerencia o DE. Pode haver mais de um mecanismo de depuração em execução em um computador ao mesmo tempo. Para multiplexar os DEs, o SDM encapsula várias interfaces dos DEs e as expõe ao IDE como uma única interface.

Para aumentar o desempenho, algumas interfaces não são multiplexadas. Em vez disso, eles são usados diretamente do DE e as chamadas para essas interfaces não passam pelo SDM. Por exemplo, as interfaces usadas com memória, código e contextos de documento não são multiplexadas, pois se referem a uma instrução, memória ou documento específico em um programa específico depurado por um DE específico. Nenhum outro DE precisa estar envolvido nesse nível de comunicação.

Isso não é verdade em todos os contextos. As chamadas para a interface de contexto de avaliação de expressão passam pelo SDM. Durante a avaliação da expressão, o SDM encapsula a interface IDebugExpression2 que ele fornece ao IDE porque, quando essa expressão é avaliada, pode envolver vários DEs que estão depurando programas no mesmo processo que podem estar em execução no mesmo thread.

O SDM normalmente atua como um mecanismo de delegação, mas pode atuar como um mecanismo de difusão. Por exemplo, durante a avaliação da expressão, o SDM atua como um mecanismo de difusão para notificar todos os DEs de que eles podem executar código em um thread especificado. Da mesma forma, quando o SDM recebe um evento de parada, ele transmite para os programas que eles devem parar de executar. Quando uma etapa é chamada, o SDM anuncia aos programas que eles podem continuar em execução. Pontos de interrupção também são transmitidos para cada Emulador de Dispositivo (DE).

O SDM não acompanha o programa, o thread ou o quadro de pilha atuais. As informações de processo, programa e thread são enviadas ao SDM em conjunto com eventos de depuração específicos.

Consulte também