Depurar de um projeto de DLL no Visual Studio (C#, C++, Visual Basic, F#)

Uma maneira de depurar um projeto de DLL é especificar o aplicativo de chamada nas propriedades do projeto de DLL. Em seguida, você pode iniciar a depuração do projeto de DLL. Para que esse método funcione, o aplicativo precisa chamar a mesma DLL no mesmo local que você configurou. Se o aplicativo encontrar e carregar uma versão diferente da DLL, essa versão não conterá seus pontos de interrupção. Para conhecer outros métodos de depuração de DLLs, consulte Depurando projetos de DLL.

Se o aplicativo gerenciado chamar uma DLL nativa ou o aplicativo nativo chamar uma DLL gerenciada, você poderá depurar a DLL e o aplicativo de chamada. Para obter mais informações, consulte Como depurar no modo misto.

Projetos de DLL nativa e gerenciada têm configurações diferentes para especificar os aplicativos de chamada.

Especificar um aplicativo de chamada em um projeto de DLL nativa

  1. Selecione o projeto de DLL C++ no Gerenciador de Soluções. Selecione o ícone Propriedades, pressione Alt+Enter ou clique com o botão direito do mouse em Propriedades e escolha essa opção.

  2. Na caixa de diálogo Projeto< Páginas de Propriedades>, verifique se o campo Configuração na parte superior da janela está definido como Depurar.

  3. SelecionePropriedades de Configuração>Depuração.

  4. Na lista Depurador a ser iniciado, escolha Depurador Local do Windows ou Depurador Remoto do Windows.

  5. Na caixa Comando ou Comando Remoto, adicione o caminho totalmente qualificado e o nome do arquivo do aplicativo de chamada, como um arquivo .exe.

    Debug Properties window

  6. Digite os argumentos necessários do programa na caixa Argumentos do Comando.

  7. Selecione OK.

Especificar um aplicativo de chamada em um projeto de DLL C# (.NET Core, .NET 5+)

  1. Selecione o projeto de DLL do C# ou do Visual Basic no Gerenciador de Soluções. Selecione o ícone Propriedades, pressione Alt+Enter ou clique com o botão direito do mouse em Propriedades e escolha essa opção.

  2. Na guia Depurar, selecione Abrir depuração dos perfis de inicialização da IU.

  3. Na caixa de diálogo Iniciar Perfis, selecione o ícone Criar um perfil e escolha Executável.

    Screenshot of the UI to create a new debug profile.

  4. No novo perfil, em Executável, navegue até o local do executável (arquivo .exe) e selecione-o.

  5. Na caixa de diálogo Iniciar Perfis, anote o nome do perfil padrão, selecione-o e exclua-o.

  6. Renomeie o novo perfil com o mesmo nome que o perfil padrão.

    Como alternativa, você pode editar manualmente launchSettings.json para obter o mesmo resultado. Você deseja que o primeiro perfil em launchSettings.json corresponda ao nome da Biblioteca de Classes e deseja que ele seja listado primeiro no arquivo.

Especificar um aplicativo de chamada em um projeto de DLL gerenciada

  1. Selecione o projeto de DLL do C# ou do Visual Basic no Gerenciador de Soluções. Selecione o ícone Propriedades, pressione Alt+Enter ou clique com o botão direito do mouse em Propriedades e escolha essa opção.

  2. Verifique se o campo Configuração na parte superior da janela está definido como Depurar.

  3. Em Iniciar ação:

    • Para DLLs do .NET Framework, selecione Iniciar programa externo e adicione o caminho totalmente qualificado e o nome do aplicativo de chamada.

    • Ou selecione Iniciar navegador com URL e preencha a URL de um aplicativo ASP.NET local.

    • Para DLLs do .NET Core no Visual Basic, a página Propriedades de Depuração é diferente. Selecione Executável na lista suspensa Iniciar e adicione o caminho totalmente qualificado e o nome do aplicativo de chamada no campo Executável.
    • Para DLLs do .NET Core, a página Propriedades de Depuração é diferente. Selecione Executável na lista suspensa Iniciar e adicione o caminho totalmente qualificado e o nome do aplicativo de chamada no campo Executável.
  4. Adicione os argumentos de linha de comando necessários no campo Argumentos de linha de comando ou Argumentos do aplicativo.

    C# Debug Properties window

  5. Use Arquivo>Salvar Itens Selecionados ou Ctrl+S para salvar as alterações.

Depurar do projeto de DLL

  1. Defina pontos de interrupção no projeto de DLL.

  2. Clique com o botão direito do mouse no projeto de DLL e escolha Definir como Projeto de Inicialização.

  3. Verifique se o campo Configuração de Soluções está definido como Depurar. Pressione F5, clique na seta verde Início ou selecione Depurar>Iniciar Depuração.

Outras dicas:

  • Se a depuração não atingir os pontos de interrupção, verifique se a saída da DLL (por padrão, a pasta <project>\Debug) é o local que o aplicativo de chamada está chamando.

  • Para acessar o código em um aplicativo de chamada gerenciado de uma DLL nativa ou vice-versa, habilite a depuração de modo misto.

  • Em alguns cenários, talvez seja necessário informar ao depurador onde encontrar o código-fonte. Para obter mais informações, consulte Usar as páginas Sem Símbolos Carregados/Sem Fonte Carregada.