Analizar la calidad de la aplicación mediante herramientas de análisis del código
La ventana Análisis de código está disponible en todas las ediciones de Visual Studio 2013.
Características de Análisis de código
Ventana Análisis de código |
Las advertencias de análisis de código ahora aparecen en la ventana de herramientas Análisis de código.La ventana ayuda a administrar y resolver las advertencias de análisis de código. |
Filtrar mensajes de advertencia |
En la ventana Análisis de código puede filtrar mensajes por palabra clave, proyecto y gravedad. |
Resaltado del editor de código |
Al seleccionar un mensaje en la ventana Análisis de código, se resalta la línea en el editor de código fuente donde se desencadenó el mensaje. |
Supresión de mensajes de C++ |
En la ventana Análisis de código, puede insertar un operador pragma en el código fuente que suprime una advertencia seleccionada. |
Conjuntos de reglas de C++ |
Al igual que con el código administrado, ahora puede especificar las reglas de análisis que desea aplicar a las ejecuciones de análisis de código creando o usando conjuntos de reglas. |
Compatibilidad con aplicaciones de la Tienda Windows
Puede ejecutar análisis de código de Visual Basic, C# y C/++ en las aplicaciones de la Tienda Windows.Para obtener más información, vea Analizar la calidad del código de las aplicaciones de la Tienda Windows utilizando análisis de código estático de Visual Studio en el Centro de desarrollo de Windows.
Nuevas advertencias de simultaneidad de C++
Las nuevas advertencias de simultaneidad ayudan a garantizar disciplinas de bloqueo en programas de C/C++ multiproceso.El analizador detecta diversos errores de simultaneidad, entre los que se incluyen posibles condiciones de carrera, inversiones del orden de bloqueo, infracciones del contrato de bloqueo entre llamador y destinatario y operaciones de sincronización no coincidentes.
Condición de carrera.La variable <var> debe estar protegida por bloqueo <bloqueo>. |
|
La operación de interbloqueo no se usó correctamente para la variable <var>. |
|
Infracción del orden de bloqueo.La adquisición del bloqueo <bloqueo> con nivel <nivel> produce la inversión del orden. |
|
Error del llamador al retener un bloqueo <bloqueo> antes de llamar a la función <func>. |
|
Error del llamador al desbloquear <bloqueo> antes de llamar a la función <func>. |
|
El llamador no puede incluir ningún bloqueo antes de llamar a <func>. |
|
No se puede desbloquear <bloqueo> en la función <func>. |
|
No se puede adquirir o retener un bloqueo <bloqueo> en <func>. |
|
Liberación de bloqueo no retenido <bloqueo> en la función <func>. |
|
Falta la anotación _Requires_lock_held_(<bloqueo>) o _No_competing_thread_ en la función <func>.De lo contrario, podría ser una condición de carrera.La variable <var> debe estar protegida por bloqueo <bloqueo>. |
|
Falta la anotación <anotación> en la función <func>. |
|
Error de anotación SAL de simultaneidad |
|
Posiblemente el llamador no pudo retener el bloqueo <bloqueo> antes de llamar a la función <func>. |
|
Posiblemente no se pudo liberar el bloqueo |
|
Posiblemente no se pudo adquirir o retener el bloqueo <bloqueo> en la función <func>. |
|
Posiblemente se liberó un bloqueo no retenido <bloqueo> en la función <func>. |
|
El módulo de controladores ha inferido que la función actual no es del tipo correcto |
|
Desreferenciando un puntero NULL |
En esta sección
Análisis de código administrado
El análisis de código administrado proporciona información sobre los ensamblados administrados como, por ejemplo, las infracciones de las reglas de programación y de diseño estipuladas en las instrucciones de diseño de Microsoft .NET Framework.Los mensajes de advertencia identifican cualquier problema pertinente de programación y diseño y, cuando es posible, proporcionan información sobre la solución del problema.
Analizar la calidad del código administrado mediante el análisis de código
Obtenga información sobre cómo configurar y ejecutar la herramienta de análisis de código administrado.Análisis de código de las advertencias de código administrado Describe las advertencias notificadas por el análisis de código para el código de C/C++.
Análisis de código de C++
La herramienta Análisis de código de C/C++ proporciona a los desarrolladores información sobre posibles defectos en su código fuente de C/C++.Entre los errores de codificación más comunes detectados por esta herramienta, destacan las saturaciones de búfer, los casos de memoria no inicializada, la desreferenciación del puntero NULL, así como las pérdidas de memoria y recursos.
Analizar la calidad de código de C/C++ mediante el análisis de código
Obtenga información sobre cómo configurar y ejecutar la herramienta de análisis de código de C/C ++.Advertencias de análisis de código de C/C++
Describe las advertencias notificadas por el análisis de código para el código de C/C++.
Análisis de código para controladores
Las herramientas de análisis de código pueden ayudar a mejorar la estabilidad y confiabilidad del controlador analizando sistemáticamente el código fuente del controlador.
Analyzing Driver Quality by Using Code Analysis Tools
El análisis de código para controladores (Code Analysis for Drivers) es una herramienta de comprobación estática en tiempo de compilación que detecta errores básicos de codificación en programas de C y C++ e incluye un módulo especializado diseñado para detectar errores en el código del controlador en modo kernel (principalmente).El comprobador de controladores estático (Static Driver Verifier, SDV) es una herramienta de comprobación estática que analiza sistemáticamente el código fuente de los controladores en modo kernel de Windows.El SDV determina si el controlador interactúa correctamente con el kernel del sistema operativo de Windows.Code Analysis for Drivers Warnings
Describe las advertencias que Code Analysis for Drivers notifica cuando detecta un posible error en el código del controlador.
Temas adicionales de esta sección
Más información sobre el análisis de código
Mejorar la calidad del código con directivas de protección de equipo