Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O gerenciador de depuração de sessão (SDM) gerencia qualquer número de mecanismos de depuração (DE) que estão depurando qualquer número de programas em vários processos em qualquer número de máquinas. Além de ser um multiplexador do mecanismo de depuração, o SDM fornece uma visão unificada da sessão de depuração para o IDE.
Operação do gestor de depuração de sessão
O gerenciador de depuração de sessão (SDM) gerencia o DE. Pode haver mais de um mecanismo de depuração em execução em uma máquina 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 contextos de memória, código e documento não são multiplexadas, porque 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.
Isto não se aplica a 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 dá ao IDE porque, 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 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 ser executados. Quando uma etapa é chamada, o SDM transmite para os programas que eles podem continuar executando. Os pontos de interrupção também são transmitidos para todos os DE.
O SDM não rastreia o programa, o thread ou o quadro de pilha atual. As informações de processo, de programa e de thread são enviadas ao SDM juntamente com eventos de depuração específicos.