Analizar la calidad de la aplicación mediante herramientas de análisis del código
Novedades de Visual Studio 2012
Ventana de Análisis de código |
Las advertencias de análisis de código ahora aparecen en la ventana de herramientas de análisis de código .La ventana de ayuda le permite administrar y resolver las advertencias de análisis de código. |
Filtrar los mensajes de advertencia |
En la ventana puede filtrar los mensajes en la ventana de Análisis de código por palabra clave, proyecto y gravedad. |
Resaltado en el editor de código |
Al seleccionar un mensaje en la ventana, el análisis de código resalta la línea en el editor de código fuente donde se originó el mensaje. |
Supresión de mensajes en C++ |
En la ventana de análisis de código, puede insertar un pragma en el código fuente que suprime una advertencia seleccionado. |
Conjuntos de reglas de C++. |
Del mismo modo que con el código administrado, ahora puede especificar las reglas de análisis que desea que se apliquen a las ejecuciones de análisis de código creando o usando conjuntos de reglas. |
Compatibilidad con las aplicaciones del almacén de Windows
Puede ejecutar el análisis de código de Visual Basic, C#, y el código de C/++ en Windows almacena aplicaciones.Para obtener más información, vea Analizando la calidad del código de Windows para almacenar las aplicaciones con el análisis de código de Visual Studio en el centro dev de Windows.
Nuevas alertas de simultaneidad de C++
La nueva ayuda de las advertencias de simultaneidad se garantiza la revisión de bloqueo en programas multiproceso de C/C++.El analizador detecta algunos errores de concurrencia, incluyendo posibles condiciones de carrera, inversiones del orden de bloqueo, infracciones del contrato entre el llamador y el llamado y otras operaciones de simultaneidad que no concuerden.
Condición de carreraLa variable <var> debe estar protegida por el cerrojo <Lock>. |
|
No usar correctamente las operaciones entrelazadas para la variable <var>. |
|
Infracción del orden de bloqueo.Adquirir el cerrojo <lock> con nivel <level> produce la inversión de orden. |
|
El llamador que no tiene control del bloqueo <lock> antes de llamar a la función <func>. |
|
El llamador no liberó el bloqueo <lock> antes de llamar a la función <func>. |
|
El llamador no puede tener control sobre ningún bloqueo antes de llamar a <func>. |
|
No se liberó el bloqueo <lock> en la función <func>. |
|
No se obtuvo el control del bloqueo <lock> en la función <func>. |
|
Se liberó un bloqueo <lock> sobre el que no se tenía control en la función <func>. |
|
Falta la anotación _Requires_lock_held_ (<lock>) o la anotación _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 el cerrojo <Lock>. |
|
Falta la anotación <annotation> en la función <func>. |
|
Error de anotación de concurrencia SAL |
|
El llamador no obtuvo el control del bloqueo <lock> antes de llamar la función <func>. |
|
Posiblemente no se liberó el bloqueo |
|
Posiblemente no se obtuvo el control sobre el bloqueo <lock> en la función <func>. |
|
Posiblemente se intenta liberar un bloqueo <lock> sobre el que no se tiene control en la función <func>. |
|
El módulo de controladores ha inferido que la función actual no es del tipo correcto de función |
|
Se intenta desreferenciar un puntero NULL. |
En esta sección
Análisis de código administrado
El análisis de código administrado da información sobre los ensamblados administrados tales como las infracciones a las reglas de programación y diseño que se detallan 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 acerca de 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 que el análisis de código reporta sobre 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 acerca de 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 que el análisis de código reporta sobre 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 de su controlador mediante un análisis de forma sistemática sobre el código fuente del controlador.
Analyzing Driver Quality by Using Code Analysis Tools
El análisis de código para los controladores es una herramienta de verificación estática en tiempo de compilación que detecta errores básicos de programación en programas de C y C++ e incluye un módulo especializado que se diseñó para detectar errores en el código del controlador que está (principalmente) en modo kernel.El comprobador estático de controladores (SDV) es una herramienta estática de comprobación 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 reporta el análisis de código para los controladores cuando se detecta un posible error en el código del controlador.
Temas adicionales en esta sección
Más información sobre análisis de código
- Mejorar la calidad del código con directivas de protección de equipo
Inserte aquí la descripción.
Tareas relacionadas
Medir la complejidad y el mantenimiento del código administrado
Inserte aquí la descripción.Comprobar código utilizando pruebas unitarias
Inserte aquí la descripción.