Share via


Visão geral análise de código para C / C++

Ferramenta de Análise de código C / C++ fornece informações para desenvolvedores sobre possíveis defeitos em seus código-fonte C/C++.Erros de codificação erros comumente relatados pela ferramenta incluem saturação de buffer, memória não inicializada, exclui a referência a ponteiro nulo, vazamentos de memória e recurso.

Integração IDE (ambiente de desenvolvimento integrado)

Para tornar natural para desenvolvedores usar a ferramenta de análise, ela é integrada dentro do IDE.Durante o processo de compilação, quaisquer avisos gerados para o código-fonte são exibidas na lista de erro.Esses avisos incluem informações de caminho defeituoso, se disponível; clique duas vezes o aviso ele realça o caminho defeituoso que levou ao aviso.

Suporte # pragma

sistema autônomo desenvolvedores podem usar o #pragma diretiva para tratar avisos sistema autônomo erros; e ativar ou desabilitar avisos, conforme mostrado nos exemplos seguintes:

#pragma warning (error: 6260)

#pragma warning (disable: 6011)

#pragma warning (enable: 6056)

Suporte anotação

Anotações melhoram a precisão da análise de código.As anotações fornecem informações adicionais sobre as condições pré- e pós- nos parâmetros de função e retorno de tipos.

#include <CodeAnalysis/SourceAnnotations.h>

[returnvalue:Post( MustCheck=SA_Yes )] double* CalcSquareRoot

(

    [Pre( Null=SA_No )] double* source,

    unsigned int size

);

No exemplo anterior:

[Post ( MustCheck=SA_Yes)] requer que o chamador verificar o valor retornado de CalcSquareRoot

[Pre ( Null=SA_No)]requer que o chamador passe parâmetro nulo "fonte" para CalcSquareRoot

Executar ferramenta de análise como parte da política de check-in

Como uma organização, você pode querer exigir que todas check-ins satisfaçam determinadas políticas.Em particular, você deseja certificar-se que você siga essas políticas:

  1. Não tenha havido erros de compilação do código que está sendo feito o check-in.

  2. A análise de código foi executada como parte da compilação mais recente.

Você pode fazer isso, especificando políticas de check-in.

Integração equipe de sistema e equipe de compilação

Você pode usar os recursos integrados do sistema de compilação para executar a ferramenta de análise como parte do processo de compilação.Para obter mais informações, consulte Visão geral sobre Team Foundation Build.

Suporte de linha de comando

Além disso, para a integração completa dentro do ambiente de desenvolvimento, os desenvolvedores também podem usar a ferramenta de análise a partir da linha de comando, conforme mostrado no exemplo a seguir:

C:\>cl /analyze Sample.cpp