Como posso activar a análise de código C/C++ no VS2015?
Não vejo a caixa do Passo 6. O meu diálogo é assim:
no Solution Explorer, selecione o projeto CodeDefects.
no menu projecto, carregue em Propriedades.
Clique Em Análise De Código.
carregue na opção Activar a análise de código para C/C++ na opção Build.
Além disso, executando esta linha de comandos (para a demonstração):
cl /analyze .\Bug.cpp
produz vários avisos de análise de código, mas executando a análise de código na SOLUÇÃO No Visual Studio (analise, execute a análise de código, na solução) não mostra nenhum aviso na lista de erros.
O que me está a escapar? Aqui está o meu MVCE, descendo do passo a frente.:usando Visual Studio 2015 Professional Update 2, criar um projeto C++ vazio.
muda o tipo de configuração do projecto para "biblioteca estática".
carregue com o botão direito nas propriedades do projecto, seleccione a análise de código e, em seguida, assinale a opção para "Activar a análise de código no Build "e seleccionar" Microsoft all Rules " para a plataforma/configuração actual ou tudo.
-
Cria O Bug.cpp " e defina o seu conteúdo para isto:
int path_dependent(int n) { int i; int j; if (n == 0) i = 1; else j = 1; return i + j; }
constrói o projecto. Não Observe erros para C6001 na lista de erros.
-
numa linha de comandos de desenvolvimento, execute o comando
cl /analyze:only .\Bug.cpp
e observe os erros esperados:Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23918 for x86 Copyright (C) Microsoft Corporation. All rights reserved. Bug.cpp c:\sources\cppdemo\codedefectsdemo\bug.cpp(9) : warning C6001: Using uninitialized memory 'i'.: Lines: 3, 4, 5, 8, 9 c:\sources\cppdemo\codedefectsdemo\bug.cpp(9) : warning C6001: Using uninitialized memory 'j'.: Lines: 3, 4, 5, 6, 9