O PVS-Studio agora está no Compiler Explorer

image1.png


Há pouco tempo, ocorreu um evento significativo: o PVS-Studio apareceu no Compiler Explorer! Agora você pode analisar rápida e facilmente seu código em busca de erros diretamente no godbolt.org (Compiler Explorer). Essa inovação abre um grande número de novas possibilidades - desde a curiosidade satisfatória sobre os recursos do analisador até a capacidade de compartilhar rapidamente o resultado do teste com um amigo. Como usar essas oportunidades será discutido neste artigo. Cuidado - Grandes GIFs!



Se você quiser ir direto ao ponto e analisar o código aqui e agora, aqui está um link completamente pronto para uso . Eu recomendo adicioná-lo aos seus favoritos - ainda será útil;)



Agora vamos falar sobre tudo em ordem. O Compiler Explorer é um serviço online interativo para explorar compiladores. Aqui você pode escrever o código diretamente no site e ver imediatamente que conjunto de saída este ou aquele compilador irá gerar para ele:



image2.gif


Além disso, há todo um conjunto de possibilidades no site e hoje consideraremos a possibilidade de analisar usando o PVS-Studio. Para conduzir a análise, você deve fazer o seguinte:



  1. Acesse o site godbolt.org ,
  2. Na guia com a saída do compilador, clique em "Adicionar ferramenta ...",
  3. Selecione "PVS-Studio" na lista suspensa.


Você pode ver um exemplo dessa sequência de ações na animação abaixo:



image3.gif


Feito! Agora, na janela exibida, todos os avisos emitidos pelo analisador para o seu código serão exibidos automaticamente. Você pode analisar o seu próprio código manuscrito e os arquivos de origem baixados separadamente. Naturalmente, os arquivos devem ser independentes e não devem ser incluídos nos arquivos que não fazem parte da biblioteca padrão. Caso contrário, o arquivo não será compilado nem verificado.



No momento, a análise usando o PVS-Studio está disponível no site para todas as versões do GCC e Clang para plataformas x86 e x64. Planejamos expandir os recursos do site para outros compiladores que suportamos (por exemplo, MSVC ou compiladores para ARM), se houver demanda.



Atualmente, apenas o diagnóstico geral de níveis de erro, aviso e nota está ativado no site. Deliberadamente, deixamos de fora os outros modos (Otimização, 64 bits, Personalizado e MISRA) para que apenas os avisos mais importantes permaneçam na saída. Além disso, diferentemente do PVS-Studio, o Compiler Explorer ainda não suporta C # e Java - planejamos executar a análise de código nessas linguagens assim que elas aparecerem lá :) O



Compiler Explorer possui um sistema de janelas muito inteligente, para que você possa movê-las ou , por exemplo, se sobrepõem. Se você não está atualmente interessado na saída do compilador, pode "ocultá-la". Como isso:



image4.gif


Você pode escrever código diretamente na janela do Compiler Explorer ou baixar arquivos individuais. Para fazer isso, clique em "Salvar / Carregar" e selecione "Sistema de arquivos" na guia que é aberta. Você também pode "baixar" o código que escreve no seu computador pressionando Ctrl + S.



image5.gif


Você não pode analisar projetos inteiros no site - você só pode enviar arquivos separadamente.



Se você quiser ver a saída do seu programa, poderá abrir a janela de execução clicando em "Adicionar novo ... -> Apenas execução" na janela para escrever código (não na janela com o compilador). No gif abaixo, você pode ver a saída do trabalho de laboratório retirado de nossa página sobre o uso gratuito do PVS-Studio por estudantes e professores .



image6.gif


A propósito, você notou que, quando clica nos links do godbolt, recebe um código pré-escrito nas janelas pré-arranjadas? Sim, você pode gerar links permanentes que preservam completamente o estado da página no momento da geração! Para fazer isso, você precisa clicar no botão "Compartilhar" no canto superior direito da tela.



image7.gif


Este método é muito conveniente para compartilhar os resultados da compilação / análise do seu código com amigos e colegas. É especialmente conveniente que a parte receptora literalmente não precise fazer nada: basta seguir o link e tudo que você precisa abrirá imediatamente diante de seus olhos.



Planejamos usar essa oportunidade para trabalhar com clientes no suporte técnico: o uso frequente do Compiler Explorer é muito conveniente para compilar exemplos minimamente reproduzíveis que podem ser rapidamente capturados e enviados por correio.



Também na guia suspensa "Compartilhar", há um item para criar um link incorporado, com o qual você pode incorporar uma janela com o Compiler Explorer em outro site.



O Compiler Explorer sempre contém uma versão atualizada do PVS-Studio; portanto, após cada um de nossos lançamentos, mais e mais erros podem ser encontrados no site. No entanto, o uso do PVS-Studio no godbolt.org não fornece uma imagem completa de seus recursos, porque o PVS-Studio não é apenas diagnóstico, mas também uma infraestrutura desenvolvida:



  • Análise de código nas linguagens C, C ++, C # e Java para um número muito maior de plataformas e compiladores;
  • Plugins para Visual Studio 2010-2019, JetBrains Rider, IntelliJ IDEA;
  • Integração no TeamCity, PlatformIO, DevOps do Azure, Travis CI, CircleCI, GitLab CI / CD, Jenkins, SonarQube, etc.
  • Utilitário de monitoramento de compilação para análise independente do IDE ou sistema de compilação;
  • E muitos outros.


No final, somente após o download do analisador, você poderá analisar completamente um projeto que consiste em vários arquivos. Portanto, a melhor maneira de obter um entendimento correto do PVS-Studio é baixar o analisador e testá-lo em seu projeto.



Para se manter atualizado, siga nossas notícias. Leia também o nosso blog : lá publicamos não apenas notícias e artigos sobre como encontrar bugs em projetos reais, mas também vários pontos interessantes relacionados a C, C ++, C # e Java.



Nossas redes sociais:







Se você deseja compartilhar este artigo com um público que fala inglês, use o link da tradução: George Gribkov. O PVS-Studio agora está no Compiler Explorer! .



All Articles