Partilhar via


Janela de detalhes do problema

A janela Detalhes do problema mostra diagnósticos estruturados emitidos pelo compilador MSVC ou análise de código Microsoft C++.

Selecione entradas na janela Lista de Erros que mostrem um ícone na coluna Detalhes para abrir a janela Detalhes do Problema. A janela Detalhes do problema mostra o diagnóstico estruturado para a entrada selecionada.

Captura de tela da Lista de Erros do Visual Studio com uma entrada que tem um ícone em sua coluna de detalhes.

Captura de tela da lista de erros do Visual Studio. Ele mostra uma tabela com uma única linha. A linha representa um erro do compilador e contém o código de erro C2665, a descrição "pet: nenhuma função sobrecarregada poderia converter todos os tipos de argumento" e um ícone de um quadrado com o canto ampliado na coluna chamada Detalhes. Este ícone está realçado.

Dois cenários produzem esses diagnósticos:

  • Compilações C++ usando MSBuild e o compilador MSVC podem emitir diagnósticos estruturados.
  • Os avisos de análise de código que suportam dados de eventos-chave emitem diagnósticos estruturados.

Abra a janela Detalhes do problema seguindo um destes procedimentos:

  • Enquanto a entrada estiver realçada, clique duas vezes nela ou pressione Enter. Desative esse comportamento com Opções de Ferramentas>>Editor>de texto C/C++>Advanced>Mostrar detalhes do problema ao clicar duas vezes.
  • Selecione o ícone na coluna Detalhes .
  • Abra o menu de atalho para a entrada e selecione a opção Abrir detalhes do problema .

Por padrão, a janela Detalhes do problema é aberta no mesmo local da janela Lista de erros . Altere onde a janela Detalhes do problema é aberta, movendo-a para a posição desejada.

A janela Detalhes do problema exibe informações estruturadas que podem ser aninhadas. Quando a janela se abre, todas as entradas com filhos aninhados começam a ser recolhidas.

Captura de tela da janela Detalhes do problema do Visual Studio com todas as crianças recolhidas.

Captura de tela da janela Detalhes do problema do Visual Studio. Há um cabeçalho mostrando o mesmo código de erro e descrição que a entrada Lista de Erros de antes. Há também um link selecionável com o texto cppcon-diag.cpp (Linha 23). Abaixo deste cabeçalho há entradas explicando que as sobrecargas potenciais são animal de estimação vazio (gato), animal de estimação vazio (cão) ou animal de estimação vazio (_T0). A entrada final afirma "ao tentar corresponder à lista de argumentos (lagarto)". À direita de cada linha há texto cinza mostrando os números de arquivo e linha para cada entrada. Todos eles pertencem a cppcon-diag.cpp e os números de linha são 7, 6, 18 e 23, respectivamente. À esquerda das três primeiras entradas estão pequenas setas ocas apontando para a direita que significam que essas entradas podem ser expandidas, mas atualmente não são.

Expanda uma entrada para ver os seus filhos selecionando a seta no lado esquerdo de uma entrada ou premindo Direita com a entrada realçada.

Captura de tela da janela Detalhes do problema do Visual Studio com algumas crianças expandidas.

Captura de tela da janela Detalhes do problema do Visual Studio. O conteúdo é basicamente o mesmo que a captura de tela anterior, no entanto, algumas das entradas são expandidas para que suas entradas filhas sejam visíveis. A primeira entrada é expandida. Há uma entrada aninhada com o texto "void pet(cat) cannot convert argument 1 from lizard to cat". Esta entrada é recuada e pode ser expandida. A segunda linha de antes é expandida, revelando um verbete não expandido que diz "animal de estimação vazio (cão) não pode converter o argumento 1 de lagarto em cão". A terceira entrada é ampliada, revelando uma entrada que diz "as restrições associadas não estão satisfeitas". Este verbete tem uma criança expandida lendo "o conceito de lagarto petável avaliado como falso". Esta entrada tem dois filhos. O primeiro não é expandido e diz "o conceito has_member_pet lagarto avaliado como falso". O segundo é expandido e diz "o conceito has_default_pet lagarto avaliado como falso". Este segundo filho tem dois filhos, nenhum dos quais é expansível. Eles leem "is_pettable não é membro de lagarto" e "ver declaração de lagarto".

Habilite ou desabilite diagnósticos estruturados com a opção Project>Properties>Advanced>Enable MSVC Structured Output . Você pode afetar vários projetos criando um arquivo Directory.Build.props com a propriedade UseStructuredOutput definida como true ou false.