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.
Um mecanismo de depuração (DE) funciona com o interpretador ou sistema operacional para fornecer serviços de depuração, como controle de execução, pontos de interrupção e avaliação de expressão. O DE é responsável por monitorizar o estado de um programa que está em depuração. Para fazer isso, o DE usa quaisquer métodos disponíveis para ele no tempo de execução suportado, seja da CPU ou de APIs fornecidas pelo tempo de execução.
Por exemplo, o Common Language Runtime (CLR) fornece mecanismos para monitorar um programa em execução através das interfaces ICorDebugXXX. Um DE que suporta o CLR usa as interfaces ICorDebugXXX apropriadas para manter o controle de um programa de código gerido que está a ser depurado. Em seguida, ele comunica quaisquer alterações de estado para o gerenciador de depuração de sessão (SDM), que encaminha essas informações para o IDE do Visual Studio.
Observação
Um mecanismo de depuração tem como alvo um tempo de execução específico, ou seja, o sistema no qual o programa que está sendo depurado é executado. O CLR é o tempo de execução para código gerenciado e o tempo de execução do Win32 é para aplicativos nativos do Windows. Se a linguagem que você cria pode direcionar um desses dois tempos de execução, o Visual Studio já fornece os mecanismos de depuração necessários. Para implementar, basta um avaliador de expressões.
Operação do mecanismo de depuração
Os serviços de monitoramento são implementados através das interfaces DE e podem fazer com que o pacote de depuração faça a transição entre diferentes modos operacionais. Para obter mais informações, consulte Modos operacionais. Normalmente, há apenas uma implementação DE por ambiente de tempo de execução.
Observação
Embora existam implementações DE separadas para Transact-SQL e JScript, VBScript e JScript compartilham um único DE.
A depuração do Visual Studio permite que os mecanismos de depuração executem uma de duas maneiras: no mesmo processo que o shell do Visual Studio ou no mesmo processo que o programa de destino que está sendo depurado. A última forma geralmente ocorre quando o processo que está sendo depurado é, na verdade, um script executado sob um intérprete. O mecanismo de depuração deve ter conhecimento íntimo do intérprete para monitorar o script. Neste caso, o intérprete é, na verdade, um ambiente de execução; os mecanismos de depuração são para implementações de ambiente de execução específicas. Além disso, a implementação de um único DE pode ser dividida entre os limites do processo e da máquina (por exemplo, depuração remota).
O DE expõe as interfaces de depuração do Visual Studio. Toda a comunicação é feita através da COM. Se o DE é carregado em processo, fora do processo ou em outro computador, isso não afeta a comunicação do componente.
O DE trabalha com um componente avaliador de expressão para permitir que o DE para esse tempo de execução específico compreenda a sintaxe das expressões. O DE também funciona com um componente manipulador de símbolos para acessar as informações de depuração simbólica geradas pelo compilador de linguagem. Para obter mais informações, consulte Avaliador de expressão e provedor de símbolos.