Depurar no modo misto (C#, C++, Visual Basic)
Este artigo descreve como habilitar a depuração para código gerenciado e nativo juntos, conhecida como depuração de modo misto. Há dois cenários de depuração em 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 o orienta nesse cenário, consulte Depurar código gerenciado e nativo.
Você pode ativar os depuradores geridos e nativos nas páginas Propriedade e do projeto da aplicação de chamada. As configurações são diferentes para aplicativos nativos e gerenciados.
Se não tiveres acesso ao projeto de uma aplicação de chamada, podes depurar a DLL a partir do projeto da DLL. Você não precisa do modo misto para depurar. Você precisa apenas do projeto DLL. Para obter mais informações, consulte Como depurar erros desde um projeto DLL.
Observação
As caixas de diálogo e comandos descritos neste artigo podem diferir da sua experiência, dependendo de suas configurações ou edição do Visual Studio. Para alterar as configurações, selecione Ferramentas >Configurações de importação e exportação. Para obter mais informações, consulte Redefinir todas as configurações.
Habilitar o modo misto para 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 Visual Studio Solution Explorer, clique com o botão direito do mouse no projeto C++ e selecione Propertiesou use o atalho de teclado Alt + Enter. A caixa de diálogo <Project> Property Pages é aberta.
Na caixa de diálogo, expanda a seção Propriedades de configuração e selecione a guia Depuração.
Na guia de Depuração , selecione a propriedade Tipo de Depurador e utilize 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 a sua configuração.
Para aplicar a alteração de propriedade, selecione OK.
Habilitar o modo misto para aplicativo de chamada gerenciada (C# ou Visual Basic)
Para habilitar a depuração de modo misto para um aplicativo de chamada gerenciado em C# ou Visual Basic, execute estas etapas:
No Visual Studio Solution Explorer, clique com o botão direito do mouse no projeto C# ou Visual Basic e selecione Propertiesou use o atalho de teclado Alt + Enter. O painel Propriedades é aberto.
No painel Propriedades, habilite a depuração em modo misto definindo a seguinte propriedade:
código .NET
No menu à esquerda, selecione Depurar.
Na seção Geral, selecione o link Abrir perfis de inicialização de depuração UI. A caixa de diálogo Iniciar perfis é aberta.
Na caixa de diálogo, desloque-se para encontrar a seção Habilitar depuração de código nativo.
Selecione 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 de Propriedades .
código do .NET Framework
Se estiveres a usar o código do .NET Framework, que não tem um perfil de lançamento para depuração, segue estes passos:
No menu à esquerda, selecione Depurar.
Na secção motores de depuração, selecione a propriedade Ativar depuração de código nativo:
Para aplicar a alteração de propriedade, feche o painel Propriedades.
No menu à esquerda, selecione Depurar.
Na secção motores de depuração, selecione a propriedade Ativar 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 Visual Studio 2019, você deve usar o arquivo launchSettings.json em vez das propriedades do projeto para habilitar a depuração de modo misto.