Compartilhar via


Gerenciador de depuração de sessão

O SDM (gerenciador de depuração de sessão) gerencia qualquer número de DEs (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 multiplexador de 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, elas são usadas diretamente no 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, uma memória ou um 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 vale para todos os contextos. As chamadas à interface de contexto de avaliação de expressão passam pelo SDM. Durante a avaliação de expressão, o SDM encapsula a interface IDebugExpression2 que ele fornece ao IDE, pois quando essa expressão é avaliada, ela pode envolver vários DEs que estão depurando programas no mesmo processo que podem estar sendo executados no mesmo thread.

O SDM normalmente atua como um mecanismo de delegação, mas pode atuar como um mecanismo de transmissão. Por exemplo, durante a avaliação de expressão, o SDM atua como um mecanismo de transmissão para notificar todos os DEs 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 ser executados. Quando uma etapa é chamada, o SDM transmite para os programas que eles podem continuar em execução. Os pontos de interrupção também são transmitidos para todos os DEs.

O SDM não rastreia o programa, thread ou registro de ativação atual. As informações de processo, programa e thread são enviadas ao SDM em conjunto com eventos de depuração específicos.

Confira também