Compartilhar via


Janela Detalhes do Problema

A janela Detalhes do Problema mostra os diagnósticos estruturados emitidos pelo Compilador MSVC ou pela Análise de Código do Microsoft C++.

Selecione entradas na janela Lista de Erros que mostram 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 pode 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 estes diagnósticos:

  • Compilações C++ usando o MSBuild e o Compilador MSVC podem emitir diagnósticos estruturados.
  • Avisos de análise de código que dão suporte a dados de evento chave emitem diagnóstico estruturado.

Abra a janela Detalhes do Problema fazendo um dos seguintes procedimentos:

  • Enquanto a entrada está realçada, clique duas vezes nela ou pressione Enter. Desabilite esse comportamento com oEditor> de Texto deOpções>de Ferramentas>C/C++>Avançado>Mostrar Detalhes do Problema em Clique Duplo.
  • 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 que a 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 estar aninhadas. Quando a janela é aberta, todas as entradas que têm 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 a descrição da entrada lista de erros de antes. Há também um link selecionável com o cppcon-diag.cpp de texto (Linha 23). Abaixo desse cabeçalho, há entradas explicando que as possíveis sobrecargas são animal de estimação (gato), animal de estimação nulo (cão) ou animal de estimação nulo (_T0). A entrada final indica "ao tentar corresponder à lista de argumentos (lagarto)." À direita de cada linha está o texto cinza mostrando o arquivo e os números de 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 exibir seus filhos selecionando a seta no lado esquerdo de uma entrada ou pressionando à direita com a entrada realçada.

Captura de tela da janela Detalhes do Problema do Visual Studio com alguns filhos expandidos.

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 filho fiquem visíveis. A primeira entrada é expandida. Há uma entrada aninhada com o texto "void pet(cat) cannot convert argument 1 from lizard to cat". Essa entrada é recuada e pode ser expandida. A segunda linha de antes é expandida, revelando uma entrada não expandida lendo "void pet(dog) cannot convert argument 1 from lizard to dog". A terceira entrada é expandida, revelando uma entrada lendo "as restrições associadas não estão satisfeitas". Essa entrada tem uma criança expandida lendo "o conceito de lagarto pettable avaliado como false". Esta entrada tem dois filhos. O primeiro não é analisado e lê "o conceito has_member_pet lagarto avaliado como false". O segundo é expandido e lê "o conceito has_default_pet lagarto avaliado como false". Este segundo filho tem dois filhos, nenhum dos quais é expansível. Eles leem "is_pettable não é membro de lagarto" e "veja a declaração de lagarto".

Habilite ou desabilite o diagnóstico estruturado com a opçãoDesativar Saída Estruturada do MSVC das> do >> Você pode afetar vários projetos criando um arquivo Directory.Build.props com a propriedade UseStructuredOutput definida como true ou false.