Introducción al análisis de código de C/C++
La herramienta Code Analysis de C/C++ proporciona información sobre posibles defectos en su código fuente de C/C++. Entre los errores de codificación más frecuentes notificados por esta herramienta se incluyen saturaciones de búfer, memoria sin inicializar, desreferencias de puntero NULL, y pérdidas de memoria y recursos. La herramienta también puede ejecutar comprobaciones con respecto a C++ Core Guidelines.
Integración del IDE (entorno de desarrollo integrado)
La herramienta de análisis de código está totalmente integrada en el IDE de Visual Studio.
Durante el proceso de compilación, las advertencias generadas para el código fuente aparecen en la lista de errores. Puede navegar al código fuente que causó la advertencia y ver información adicional sobre la causa y las posibles soluciones del problema.
Compatibilidad con la línea de comandos
También puede usar la herramienta de análisis desde la línea de comandos, como se muestra en el ejemplo siguiente:
C:\>cl /analyze Sample.cpp
Visual Studio 2017, versión 15.7 y posteriores: puede ejecutar la herramienta desde la línea de comandos con cualquier sistema de compilación, incluido CMake.
Compatibilidad con #pragma
Puede usar la directiva #pragma
para tratar las advertencias como errores, habilitar o deshabilitar las advertencias y suprimir las advertencias de líneas de código individuales. Para más información, consulte Directivas pragma y las palabras clave __pragma
y _Pragma
.
Compatibilidad con anotaciones
Las anotaciones mejoran la precisión del análisis de código. Las anotaciones proporcionan información adicional sobre las condiciones previas y posteriores en los parámetros de función y los tipos de valor devuelto. Para más información, consulte Uso de anotaciones SAL para reducir los defectos en el código de C/C++.
Ejecución de la herramienta de análisis como parte de la directiva de inserción en el repositorio
Puede que sea necesario exigir que todas las inserciones en el repositorio de código fuente cumplan determinadas directivas. En concreto, le conviene asegurarse de que se ejecutó un análisis como un paso de la compilación local más reciente. Para más información sobre cómo habilitar una directiva de inserción en el repositorio de análisis de código, consulte Creación y uso de directivas de inserción en el repositorio de Code Analysis.
Integración con Team Build
Puede usar las características integradas del sistema de compilación para ejecutar la herramienta de análisis como parte del proceso de compilación de Azure DevOps. Para obtener más información, consulte Azure Pipelines.
Consulte también
- Inicio rápido: Análisis de código para C/C++
- Tutorial Análisis de defectos en el código de C/C++
- Análisis de código para advertencias de C/C++
- Usar los comprobadores de C++ Core Guidelines
- Referencia del comprobador de C++ Core Guidelines
- Uso de conjuntos de reglas para especificar las reglas de C++ que se van a ejecutar
- Análisis de la calidad del controlador mediante herramientas de Code Analysis
- Análisis de código para advertencias de controladores