Gerenciador de sessão de depuração
O Gerenciador de sessão de depuração (SDM) gerencia qualquer número de mecanismos de depuração (DE) qualquer número de programas em vários processos em qualquer número de máquinas de depuração. Além de ser um multiplexador de mecanismo de depuração, o SDM fornece uma visão unificada da sessão de depuração ao IDE.
Operação Gerenciador de sessão de depuração
O Gerenciador de sessão de depuração (SDM) gerencia o DE. Pode haver mais de um mecanismo de depuração, executando em um computador ao mesmo tempo. A multiplexação o DEs, o SDM quebra várias interfaces do DEs e o 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 a partir DE e chamadas para essas interfaces não passam pelo SDM. Por exemplo, interfaces usados com a memória, código e contextos de documento não são multiplexadas, porque eles se referem a instruções específicas, memória ou documento em um programa específico depurado por um DE específico. Não há outro DE deverá estar envolvido no nível de comunicação.
Isso não é verdadeiro para todos os contextos. Chamadas para a interface de contexto de avaliação de expressão percorra o SDM. Durante a avaliação de expressão, o SDM é disposto a IDebugExpression2 interface que fornece ao IDE porque quando essa expressão é avaliada, ela pode envolver vários DEs que está depurando programas no mesmo processo que pode estar em execução no mesmo thread.
O SDM normalmente atua como um mecanismo de delegação, mas ele pode atuar como um mecanismo de difusão. Por exemplo, durante a avaliação de expressão, o SDM age como um mecanismo de difusão para notificar o DEs todos os que eles podem executar código em um segmento especificado. Da mesma forma, quando o SDM recebe um evento de parada, ele transmite para todos os programas que eles devem interromper a execução. Quando uma etapa é chamada, o SDM transmite para todos os programas que eles podem continuar em execução. Pontos de interrupção também são transmitidos a cada DE.
O SDM não controla o programa atual, thread ou quadro de pilha. O programa, thread e processo informações são enviadas para o SDM em conjunto com eventos específicos de depuração.