PVS-Studio ahora está en el Explorador de compiladores

image1.png


No hace mucho tiempo, tuvo lugar un evento importante: ¡PVS-Studio apareció en Compiler Explorer! Ahora puede analizar rápida y fácilmente su código en busca de errores directamente en godbolt.org (Compiler Explorer). Esta innovación abre una gran cantidad de nuevas posibilidades, desde satisfacer la curiosidad sobre las capacidades del analizador hasta la capacidad de compartir rápidamente el resultado de la prueba con un amigo. En este artículo se discutirá cómo usar estas oportunidades. Cuidado: ¡GIF grandes!



Si desea ir directamente al grano y analizar el código aquí y ahora, aquí hay un enlace completamente listo para usar . Recomiendo agregarlo a sus marcadores, aún será útil;)



Ahora hablemos de todo en orden. Compiler Explorer es un servicio interactivo en línea para explorar compiladores. Aquí puede escribir código directamente en el sitio e inmediatamente ver qué salida de ensamblaje generará este o aquel compilador para él:



image2.gif


Además, hay un conjunto completo de posibilidades en el sitio, y hoy consideraremos la posibilidad de analizar usando PVS-Studio. Para realizar el análisis, debe hacer lo siguiente:



  1. Vaya al sitio web godbolt.org ,
  2. En la pestaña con la salida del compilador, haga clic en "Agregar herramienta ...",
  3. Seleccione "PVS-Studio" en la lista desplegable.


Puede ver un ejemplo de dicha secuencia de acciones en la animación a continuación:



image3.gif


¡Hecho! Ahora, en la ventana que aparece, se mostrarán automáticamente todas las advertencias emitidas por el analizador a su código. Puede analizar tanto su propio código escrito a mano como los archivos fuente descargados por separado. Naturalmente, los archivos deben ser independientes y no incluirse en archivos que no forman parte de la biblioteca estándar. De lo contrario, el archivo no será compilado ni verificado.



Por el momento, el análisis con PVS-Studio está disponible en el sitio para todas las versiones de GCC y Clang para plataformas x86 y x64. Planeamos expandir las capacidades del sitio a otros compiladores que admitimos (por ejemplo, MSVC o compiladores para ARM), si hay una demanda para él.



Actualmente, solo los diagnósticos generales de los niveles de error, advertencia y nota están habilitados en el sitio. Deliberadamente omitimos los otros modos (Optimización, 64 bits, Personalizado y MISRA) para que solo las advertencias más importantes permanezcan en la salida. Además, a diferencia de PVS-Studio, Compiler Explorer aún no es compatible con C # y Java; planeamos ejecutar análisis de código en estos lenguajes tan pronto como aparezcan allí :)



Compiler Explorer tiene un sistema de ventanas muy inteligente, por lo que puede moverlos o , por ejemplo, se superponen entre sí. Si no está interesado actualmente en el resultado del compilador, puede "ocultarlo". Me gusta esto:



image4.gif


Puede escribir código directamente en la ventana del Explorador de compiladores o descargar archivos individuales. Para hacer esto, haga clic en "Guardar / Cargar" y seleccione "Sistema de archivos" en la pestaña que se abre. También puede "descargar" el código que escribe en su computadora presionando Ctrl + S.



image5.gif


No puede analizar proyectos completos en el sitio, solo puede cargar archivos por separado.



Si desea ver la salida de su programa, puede abrir la ventana de ejecución haciendo clic en "Agregar nuevo ... -> Solo ejecución" en la ventana para escribir código (no en la ventana con el compilador). En el siguiente gif puede ver el resultado del trabajo de laboratorio tomado de nuestra página sobre el uso gratuito de PVS-Studio por parte de estudiantes y profesores .



image6.gif


Por cierto, ¿notaste que cuando haces clic en los enlaces a godbolt, obtienes un código preescrito en las ventanas preestablecidas? Sí, puede generar enlaces permanentes que preserven completamente el estado de la página en el momento de la generación. Para hacer esto, debe hacer clic en el botón "Compartir" en la esquina superior derecha de la pantalla.



image7.gif


Este método es muy conveniente para compartir los resultados de la compilación / análisis de su código con amigos y colegas. Es especialmente conveniente que la parte receptora literalmente no necesite hacer nada: solo siga el enlace, y todo lo que necesite se abrirá inmediatamente ante sus ojos.



Planeamos aprovechar esta oportunidad para trabajar con los clientes en soporte técnico: a menudo usar el Compiler Explorer es muy conveniente para compilar ejemplos mínimamente reproducibles que se pueden tomar y enviar rápidamente por correo.



También en la pestaña desplegable "Compartir" hay un elemento para crear un enlace incrustado, con el que puede incrustar una ventana con Compiler Explorer en algún otro sitio.



El Explorador de compiladores siempre contiene una versión actualizada de PVS-Studio, por lo tanto, después de cada uno de nuestros lanzamientos, se pueden encontrar más y más errores en el sitio. Sin embargo, el uso de PVS-Studio en godbolt.org no da una idea completa de sus capacidades, porque PVS-Studio no es solo un diagnóstico, sino también una infraestructura desarrollada:



  • Análisis de código en lenguajes C, C ++, C # y Java para un número mucho mayor de plataformas y compiladores;
  • Complementos para Visual Studio 2010-2019, JetBrains Rider, IntelliJ IDEA;
  • Integración en TeamCity, PlatformIO, Azure DevOps, Travis CI, CircleCI, GitLab CI / CD, Jenkins, SonarQube, etc.
  • Utilidad de monitoreo de compilación para análisis independiente de IDE o sistema de compilación;
  • Y muchos, muchos otros.


Al final, solo después de descargar el analizador podrá analizar completamente un proyecto que consta de varios archivos. Por lo tanto, la mejor manera de comprender correctamente PVS-Studio es descargar el analizador y probarlo en su proyecto.



Para mantenerse al día, siga nuestras noticias. Lea también nuestro blog : allí publicamos no solo noticias y artículos sobre la búsqueda de errores en proyectos reales, sino también varios puntos interesantes relacionados con C, C ++, C # y Java.



Nuestras redes sociales:







Si desea compartir este artículo con una audiencia de habla inglesa, utilice el enlace de traducción: George Gribkov. ¡PVS-Studio ahora está en Compiler Explorer! ...



All Articles