Compartilhar via


Configurações do projeto para uma configuração de depuração do C++

É possível alterar as configurações de projeto para uma configuração de depuração C ou C++ na caixa de diálogo Páginas de Propriedades, conforme discutido em Como definir as configurações de depuração e de versão. As tabelas a seguir mostram como localizar configurações relacionadas ao depurador na caixa de diálogo Páginas de Propriedades.

Nota

As configurações do projeto de depuração na categoria de Propriedades de Configuração/Depuração são diferentes para aplicativos UWP e para componentes escritos em C++. Consulte Iniciar uma sessão de depuração (VB, C#, C++ e XAML).

Cada configuração de propriedade de depuração é automaticamente gravada e salva no arquivo “por usuário” (.vcxproj.user) para sua solução quando salva sua solução.

Especifique qual depurador usar na caixa de listagem Depurador para iniciar, conforme descrito na tabela a seguir. Sua escolha afeta quais propriedades estão visíveis.

A pasta propriedades de configuração (categoria de depuração)

Configuração Descrição
Depurador a ser inicializado Especifica o depurador a ser executado, com as seguintes opções:

- Depurador local do Windows
- Depurador Remoto do Windows
- Depurador do Navegador da Web
- Depurador de Serviço Web
Comando (Depurador Local do Windows) Especifica o comando para iniciar o programa que você está depurando no computador local.
Comando Remoto (Depurador Remoto do Windows) O caminho para o .exe no computador remoto. Insira o caminho da mesma forma que você o inseriria no computador remoto.
Argumentos de Comando (Depurador Local do Windows)

Argumentos de Comando Remoto (Depurador Remoto do Windows)
- Especifica argumentos para o programa que você está depurando. Para obter mais informações sobre as maneiras de definir os argumentos de linha de comando, confira Enviar argumentos de linha de comando para um depurador (C++).

Você pode usar os seguintes operadores de redirecionamento nesta caixa:

< file
Lê o stdin do arquivo.

> file
Grava stdout no arquivo.

>> file
Acrescenta o stdout ao arquivo.

2>file
Grava stderr no arquivo.

2>>file
Acrescenta stderr ao arquivo.

2> &1
Envia a saída de stderr (2) para a mesma localidade que o stdout (1).

1> &2
Envia a saída do stdout (1) para o mesmo local que a saída do stderr (2).

Na maioria dos casos, esses operadores são aplicáveis somente a aplicativos de console.

Se você precisar escapar de caracteres no comando, poderá usar valores ASCII, como %25 para substituir %. Se você usar o comando Iniciar Depuração, as aspas duplas escaparão dos comandos anteriores, como "<" para substituir <.
Diretório de Trabalho Especifica o diretório de trabalho do programa que está sendo depurado, relativo ao diretório do projeto onde o EXE está localizado. Se você deixar isso em branco, o diretório de trabalho será o diretório do projeto. Para depuração remota, o diretório do projeto está no servidor remoto.
Anexar (Depurador Local do Windows e Depurador Remoto do Windows) Especifica se deve iniciar ou se conectar ao aplicativo. A configuração padrão é Não.
Nome do Servidor Remoto (Depurador Remoto do Windows) Especifica o nome de um computador (diferente do seu) no qual você deseja depurar um aplicativo.

A macro de compilação RemoteMachine é configurada com o valor dessa propriedade; para obter mais informações, consulte Macros para comandos de compilação e propriedades.
Conexão (Depurador Remoto do Windows) Permite alternar entre tipos de conexão padrão e sem autenticação para depuração remota. Especifique um nome de computador remoto na caixa Nome do Servidor Remoto. Os tipos de conexão incluem o seguinte:

- Remoto com Autenticação do Windows
- Remoto sem autenticação

Observação Depuração remota sem a autenticação pode deixar o computador remoto vulnerável às violações de segurança. O modo de Autenticação do Windows é mais seguro.

Para obter mais informações, confira Configuração de depuração remota.
URL HTTP (depurador de serviço Web e depurador de navegador da Web) Especifica a URL em que o projeto que você está depurando está localizado.
Tipo de Depurador Especifica o tipo de depurador a ser usado: Native Only, Managed Only, GPU Only, Mixed, Auto (padrão) ou Script.

- Nativo Somente é para código C++ não gerenciado.
- Somente Gerenciado é para o código executado no Common Language Runtime (código gerenciado).
- Misto invoca depuradores para código gerenciado e não gerenciado.
- Auto determina o tipo de depurador com base nas informações do compilador e do EXE.
- Script invoca um depurador para scripts.
- GPU Somente é para um código C++ AMP que é executado em um dispositivo GPU ou no rasterizador de referência do DirectX. Confira Depuração de código de GPU.
Ambiente (Depurador Local do Windows e Depurador Remoto do Windows) Especifica variáveis de ambiente para o programa que você está depurando. Use a sintaxe de variável de ambiente padrão (por exemplo, PATH="%SystemRoot%\..."). Essas variáveis substituem o ambiente do sistema ou são mescladas com o ambiente do sistema, dependendo da configuração do Ambiente de Mesclagem. Quando você clica na coluna direita, um "Editar..." é exibido. Selecione esse link para abrir o Editor de Propriedades e editar variáveis de ambiente. Para adicionar várias variáveis de ambiente, use o editor de propriedades e adicione uma variável por linha.
Ambiente de Mesclagem (Depurador Local do Windows) Determina se as variáveis especificadas na caixa Ambiente são mescladas com o ambiente definido pelo sistema operacional. A configuração padrão é Sim.
Depuração de SQL (todos, com exceção do Depurador do Conjunto de MPI) Permite a depuração de procedimentos SQL do seu aplicativo Visual C++. A configuração padrão é Não.
Tipo de Acelerador de Depuração (somente depuração de GPU) Especifica o dispositivo GPU a ser usado para depuração. A instalação de drivers de dispositivo para dispositivos de GPU compatíveis adiciona opções adicionais. A configuração padrão é GPU – Emulador de Software.
Comportamento de ponto de interrupção padrão GPU (somente depuração de GPU) Especifica se um evento de ponto de interrupção deve ser gerado para cada thread em um warp SIMD. A configuração padrão é gerar o evento do ponto de interrupção apenas uma vez por encurvamento.
Acelerador Padrão de Amp Especifica o acelerador AMP padrão ao depurar o código gpu. Escolha o acelerador de software WARP para investigar se um problema é causado pelo hardware ou por um driver, em vez do seu código.
Diretório de Implantação (Depurador Remoto do Windows) Especifica o caminho no computador remoto em que a saída do projeto é copiada antes da inicialização. O caminho pode ser um compartilhamento de rede no computador remoto ou pode ser um caminho para uma pasta no computador remoto. A configuração padrão está vazia, o que significa que a saída do projeto não é copiada para um compartilhamento de rede. Para habilitar a implantação dos arquivos, você também deve selecionar a caixa de seleção Implantar na caixa de diálogo do Configuration Manager. Para obter mais informações, consulte Como criar e editar configurações.
Arquivos adicionais para implantar (depurador remoto do Windows) Se a propriedade Diretório de Implantação estiver definida, esta será uma lista delimitada por ponto-e-vírgula de pastas ou arquivos adicionais a serem copiados para o diretório de implantação. A configuração padrão está vazia, o que significa que nenhuma pasta ou arquivos adicionais é copiado para o diretório de implantação. Para copiar o conteúdo de uma pasta para a mesma pasta no Diretório de Implantação, especifique um nome de pasta. Para habilitar a implantação dos arquivos, você também deve selecionar a caixa de seleção Implantar na caixa de diálogo do Configuration Manager. Para obter mais informações, consulte Como criar e editar configurações.
Implantar Bibliotecas de Runtime de Depuração do Visual C++ (Depurador Remoto do Windows) Se a propriedade Diretório de Implantação estiver definida, isso especifica se as bibliotecas de runtime de depuração do Visual C++ da plataforma atual devem ser copiadas para o compartilhamento de rede. A configuração padrão é Sim.

Pasta C/C++ (categoria geral)

Configuração Descrição
Formato de Informação de Depuração (/Z7, /Zd, Zi, /ZI) Especifica o tipo de informações de depuração a serem criadas para o projeto.

A opção padrão (/ZI) cria um banco de dados de programa (PDB) no formato compatível com "Edit and Continue". Para obter mais informações, confira /Z7, /Zd, /Zi, /ZI (formato de informação de depuração).

Pasta C/C++ (categoria Otimização)

Configuração Descrição
Optimização Especifica se o compilador deve otimizar o código que produz. A otimização altera o código executado. O código otimizado não corresponde mais ao código-fonte, o que dificulta a depuração.

A opção padrão (desabilitada (/0d)) suprime a otimização. Você pode desenvolver com a otimização suprimida e ativá-la quando criar a versão de produção do código.

Pasta do vinculador (categoria de depuração)

Configuração Descrição
Gerar informações de depuração (/DEBUG) Informa ao vinculador para incluir informações de depuração no formato especificado por /Z7, /Zd, Zi ou /ZI.
Gerar arquivo de banco de dados de programa (/PDB:name) Especifique o nome de um arquivo de banco de dados do programa (PDB) nesta caixa. Você deve selecionar ZI ou /Zi para obter o formato de informações de depuração.
Segmentar Símbolos Privados (/PDBSTRIPPED:filename) Especifique o nome de um arquivo PDB nesta caixa se você não quiser incluir símbolos privados no arquivo PDB. Essa opção cria um segundo arquivo PDB quando você cria sua imagem de programa com qualquer uma das opções do compilador ou vinculador que geram um arquivo PDB, como /DEBUG, /Z7, /Zd. Ou /Zi. Este segundo arquivo PDB omite símbolos que você não deseja enviar aos seus clientes. Para obter mais informações, confira /PDBSTRIPPED (Remover símbolos privados).
Gerar arquivo de mapa (/MAP) Informe ao vinculador para gerar um arquivo de mapa durante a vinculação. A configuração padrão é Não. Para obter mais informações, confira /MAP (Gerar Mapfile).
Mapear nome do arquivo (/MAP:name) Se você escolher Gerar Arquivo de Mapa, poderá especificar o arquivo de mapa nesta caixa. Para obter mais informações, confira /MAP (Gerar Mapfile).
Exportações de Mapa (/MAPINFO:EXPORTS) Inclui funções exportadas no arquivo de mapa. A configuração padrão é Não. Para obter mais informações, consulte /MAPINFO (Incluir informações no Mapfile).
Assembly Depurável (/ASSEMBLYDEBUG) Especifica configurações para a opção de /ASSEMBLYDEBUG de vinculador. Os valores possíveis são:

- Nenhum atributo depurável emitido.
- Acompanhamento de runtime e desabilitar otimizações (/ASSEMBLYDEBUG). Essa é a configuração padrão,
- Sem acompanhamento de runtime e habilitar otimizações (/ASSEMBLYDEBUG:DISABLE).
- <Herdar das configurações padrão do pai ou do projeto>.
– Para obter mais informações, confira /ASSEMBLYDEBUG (Adicionar DebuggableAttribute).

Você pode alterar essas configurações na pasta Propriedades de Configuração (categoria Depuração) programaticamente usando a interface Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings. Para obter mais informações, consulte VCDebugSettings.

Outras configurações de projeto

Para depurar tipos de projeto, como bibliotecas estáticas e DLLs, seu projeto do Visual Studio deve ser capaz de localizar os arquivos corretos. Quando o código-fonte estiver disponível, você poderá adicionar bibliotecas estáticas e DLLs como projetos separados à mesma solução, para facilitar a depuração. Para obter informações sobre como criar esses tipos de projeto, consulte Criando e usando uma Biblioteca de Link Dinâmico (DLL) e Criando e usando uma biblioteca estática. Com o código-fonte disponível, também é possível criar um novo projeto do Visual Studio ao selecionar Arquivo>Novo>Projeto do Código Existente.

Para depurar DLLs externas ao seu projeto, confira Depurar projetos de DLL. Se você precisar depurar seu próprio projeto de DLL, mas não tiver acesso ao projeto do aplicativo que faz a chamada, consulte Como depurar a partir de um projeto DLL.

Consulte também