Depurar no modo misto (C#, C++, Visual Basic)
Este artigo descreve como habilitar a depuração para código gerenciado e nativo juntos, conhecido como depuração de modo misto. Há dois cenários de depuração de modo misto:
O aplicativo que chama uma DLL é escrito em código nativo e a DLL é gerenciada.
O aplicativo que chama uma DLL é escrito em código gerenciado e a DLL está em código nativo. Para obter um tutorial que explica esse cenário, confira Depurar código gerenciado e nativo.
Você pode habilitar depuradores gerenciados e nativos nas páginas Propriedade do projeto de aplicativo de chamada. As configurações são diferentes para aplicativos nativos e gerenciados.
Se você não tiver acesso ao projeto de um aplicativo de chamada, poderá depurar a DLL do projeto DLL. Você não precisa do modo misto para depurar. Você precisa apenas do projeto DLL. Para obter mais informações, confira Como depurar de um projeto de DLL.
Observação
Os diálogos e comandos descritos neste artigo podem diferir da sua experiência, dependendo das configurações ou edição do Visual Studio. Para alterar as configurações, escolha Ferramentas>Importar e Exportar Configurações. Para obter mais informações, confira Redefinir todas as configurações.
Habilitar o modo misto para um aplicativo de chamada nativo (C++)
Para habilitar a depuração de modo misto para um aplicativo de chamada nativo em C++, siga estas etapas:
No Gerenciador de Soluções do Visual Studio, clique com o botão direito do mouse no projeto C++ e escolha Propriedades ou use o atalho de teclado Alt + Enter. A caixa de diálogo <Páginas de Propriedades> do Projeto é aberta.
Na caixa de diálogo, expanda a seção Propriedades de configuração e escolha a guia Depuração .
Na guia Depuração, selecione a propriedade Tipo de Depurador e use a lista suspensa para escolher a opção Automático ou Misto. Se houver várias opções para Misto, como .NET Core e .NET Framework, escolha a melhor opção para sua configuração.
Para aplicar a alteração de propriedade, escolha OK.
Habilitar o modo misto para aplicativo de chamada gerenciado (C# ou Visual Basic)
Para habilitar a depuração de modo misto para um aplicativo de chamada gerenciado em C# ou Visual Basic, siga estas etapas:
No Gerenciador de Soluções do Visual Studio, clique com o botão direito do mouse no projeto C# ou Visual Basic e escolha Propriedades, ou use o atalho de teclado Alt + Enter. O painel Propriedades é aberto.
No painel Propriedades, habilite a depuração de modo misto definindo a seguinte propriedade:
Código .NET
No menu esquerdo, escolha Depuração.
Na seção Geral, selecione o link Abrir perfis de inicialização de depuração da interface do usuário. A caixa de diálogo Iniciar perfis é aberta.
Na caixa de diálogo, role para localizar a seção Habilitar depuração de código nativo.
Escolha a propriedade Habilitar depuração para código gerenciado e nativo juntos, também conhecida como depuração de modo misto:
Para aplicar a alteração de propriedade, feche a caixa de diálogo Iniciar Perfis e o painel Propriedades.
Código do .NET Framework
Se você estiver usando o código do .NET Framework, que não tem perfil de inicialização de depuração, siga estas etapas:
No menu esquerdo, escolha Depuração.
Na seção Mecanismos do depurador, escolha a propriedade Habilitar depuração de código nativo:
Para aplicar a alteração de propriedade, feche o painel Propriedades.
No menu esquerdo, escolha Depuração.
Na seção Mecanismos do depurador, escolha a propriedade Habilitar depuração de código nativo:
Para aplicar a alteração de propriedade, feche o painel Propriedades.
Observação
Para um aplicativo .NET Core no Visual Studio 2017 e no Visual Studio 2019, você precisa usar o arquivo launchSettings.json em vez das propriedades do projeto para habilitar a depuração de modo misto.