Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um DE (mecanismo de depuração) funciona com o interpretador ou o 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 monitorar o estado de um programa que está sendo depurado. Para fazer isso, o DE usa todos os métodos disponíveis para ele no runtime com suporte, seja da CPU ou de APIs fornecidas pelo runtime.
Por exemplo, o CLR (Common Language Runtime) fornece mecanismos para monitorar um programa em execução por meio das interfaces ICorDebugXXX. Um DE que dá suporte ao CLR usa as interfaces ICorDebugXXXX apropriadas para acompanhar um programa de código gerenciado que está sendo depurado. Em seguida, ele comunica quaisquer alterações de estado para o SDM (gerenciador de depuração de sessão), que encaminha essas informações para o IDE do Visual Studio.
Observação
Um mecanismo de depuração tem como destino um runtime específico, ou seja, o sistema no qual o programa que está sendo depurado é executado. O CLR é o runtime do código gerenciado e o runtime do Win32 é para aplicativos nativos do Windows. Se o idioma criado puder ser direcionado a um desses dois runtimes, o Visual Studio já fornecerá os mecanismos de depuração necessários. Tudo o que você precisa implementar é um avaliador de expressão.
Operação do mecanismo de depuração
Os serviços de monitoramento são implementados por meio 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 os modos operacionais. Normalmente, há apenas uma implementação de DE por ambiente de tempo de execução.
Observação
Embora haja implementações de DE separadas para Transact-SQL e JScript, VBScript e JScript compartilham um único DE.
A funcionalidade de depuração do Visual Studio permite que os mecanismos de depuração sejam executados de duas formas: 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 em execução em um interpretador. O mecanismo de depuração deve ter conhecimento íntimo do interpretador para monitorar o script. Nesse caso, o interpretador é, na verdade, um runtime; os mecanismos de depuração são para implementações de runtime 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 é por meio de COM. Se o DE é carregado em processo, fora do processo ou em outro computador, ele não afeta a comunicação de componentes.
O DE funciona com um componente avaliador de expressões para que o DE daquele runtime específico entenda a sintaxe das expressões. O DE também funciona com um componente de manipulador de símbolos para acessar as informações simbólicas de depuração geradas pelo compilador de linguagem. Para obter mais informações, consulte o avaliador de expressão e o provedor de símbolos.