Visão geral da API de Extensão WdbgExts
Cada DLL de extensão WdbgExts exporta uma ou mais funções usadas para implementar comandos de extensão. Essas funções são nomeadas de acordo com a convenção C padrão, exceto que as letras maiúsculas não são permitidas.
O nome da função e o nome do comando de extensão são idênticos, exceto que o comando de extensão começa com um ponto de exclamação ( ! ). Por exemplo, quando você carrega Myextension.dll no depurador e digita !stack na janela Comando do Depurador, o depurador procura uma função exportada chamada stack no Myextension.dll.
Se Myextension.dll ainda não estiver carregado ou se houver outros comandos de extensão com o mesmo nome em outras DLLs de extensão, você poderá digitar !myextension.stack na janela Comando do Depurador para indicar a DLL de extensão e o comando de extensão nessa DLL.
Cada DLL de extensão WdbgExts também exporta várias funções de retorno de chamada. Essas funções são chamadas pelo depurador quando a DLL é carregada e quando os comandos de extensão são usados.
O mecanismo de depurador fará uma tentativa/exceto bloqueará uma chamada para uma DLL de extensão. Isso protege o mecanismo contra alguns tipos de bugs no código de extensão. No entanto, como as chamadas de extensão são executadas no mesmo thread que o mecanismo, elas ainda podem fazer com que o mecanismo falhe.