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.

Dd264897.collapse_all(es-es,VS.110).gifCompatibilidad 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.

Dd264897.collapse_all(es-es,VS.110).gifNuevas 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.

C26100

Condición de carreraLa variable <var> debe estar protegida por el cerrojo <Lock>.

C26101

No usar correctamente las operaciones entrelazadas para la variable <var>.

C26105

Infracción del orden de bloqueo.Adquirir el cerrojo <lock> con nivel <level> produce la inversión de orden.

C26110

El llamador que no tiene control del bloqueo <lock> antes de llamar a la función <func>.

C26111

El llamador no liberó el bloqueo <lock> antes de llamar a la función <func>.

C26112

El llamador no puede tener control sobre ningún bloqueo antes de llamar a <func>.

C26115

No se liberó el bloqueo <lock> en la función <func>.

C26116

No se obtuvo el control del bloqueo <lock> en la función <func>.

C26117

Se liberó un bloqueo <lock> sobre el que no se tenía control en la función <func>.

C26130

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>.

C26135

Falta la anotación <annotation> en la función <func>.

C26140

Error de anotación de concurrencia SAL

C26160

El llamador no obtuvo el control del bloqueo <lock> antes de llamar la función <func>.

C26165

Posiblemente no se liberó el bloqueo

C26166

Posiblemente no se obtuvo el control sobre el bloqueo <lock> en la función <func>.

C26167

Posiblemente se intenta liberar un bloqueo <lock> sobre el que no se tiene control en la función <func>.

C28101

El módulo de controladores ha inferido que la función actual no es del tipo correcto de función

C28182

Se intenta desreferenciar un puntero NULL.

En esta sección

Dd264897.collapse_all(es-es,VS.110).gifAná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.

Dd264897.collapse_all(es-es,VS.110).gifAná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.

Dd264897.collapse_all(es-es,VS.110).gifAná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.

Dd264897.collapse_all(es-es,VS.110).gifTemas adicionales en esta sección

Más información sobre análisis de código

Tareas relacionadas