Analyse de la qualité des applications à l'aide des outils d'analyse du code

La fenêtre Analyse du code est disponible dans toutes les éditions de Visual Studio.

Fonctionnalités d’analyse du code

Fenêtre d'analyse du code

Les avertissements d'analyse du code apparaissent maintenant dans la fenêtre de l'outil Analyse du code.Cette fenêtre vous aide à gérer et à résoudre les avertissements d'analyse du code.

Filtrage des messages d’avertissement

Dans la fenêtre, vous pouvez filtrer les messages dans la fenêtre Analyse du code par mot clé, projet et gravité.

Mise en surbrillance de l’éditeur de code

La sélection d’un message dans la fenêtre Analyse du code met en surbrillance la ligne de l’éditeur de code source où le message a été déclenché.

Suppression de message en C++

Dans la fenêtre Analyse du code, vous pouvez insérer un pragma dans le code source qui supprime un avertissement sélectionné.

Ensembles de règles C++

Comme dans du code managé, vous pouvez à présent spécifier les règles d’analyse que vous souhaitez appliquer aux opérations d’analyse du code en créant ou en utilisant des ensembles de règles.

Prise en charge des applications Windows Store

Vous pouvez exécuter l’analyse du code Visual Basic, C# et C/C++ dans les applications Windows Store.Pour plus d’informations, consultez Analyser la qualité du code des applications du Windows Store à l’aide de l’analyse statique du code Visual Studio dans le Centre de développement Windows.

Nouveaux avertissements d’accès concurrentiel C++

Les nouveaux avertissements d’accès concurrentiel vous permettent de garantir des disciplines de verrouillage dans les programmes C/C++ multithread.L’analyseur détecte un certain nombre de bogues d’accès concurrentiel, y compris d’éventuelles conditions de concurrence, inversions de l’ordre de verrou, violations de contrat de verrouillage appelant/appelé et opérations de synchronisations incompatibles.

C26100

Condition de concurrence.La variable <var> doit être protégée par le verrou <lock>.

C26101

Impossible d’utiliser l’opération à blocage correctement pour la variable <var>.

C26105

Violation d’ordre de verrou.L’acquisition du verrou <lock> avec le niveau <level> provoque une inversion de l’ordre.

C26110

Appelant ne parvenant pas à maintenir le verrou <lock> avant d’appeler la fonction <func>.

C26111

Appelant ne parvenant pas à libérer le verrou <lock> avant d’appeler la fonction <func>.

C26112

L’appelant ne peut maintenir aucun verrou avant d’appeler <func>.

C26115

Échec de la libération du verrou <lock> dans la fonction <func>.

C26116

Échec de l’acquisition ou du maintien du verrou <lock> dans <func>.

C26117

Libération d’un verrou <lock> non maintenu dans la fonction <func>.

C26130

Annotation _Requires_lock_held_(<lock>) ou _No_competing_thread_ absente dans la fonction <func>.Sinon, il peut s’agir d’une condition de concurrence.La variable <var> doit être protégée par le verrou <lock>.

C26135

Annotation <annotation> absente dans la fonction <func>.

C26140

Erreur d’annotation SAL d’accès concurrentiel

C26160

Appelant ne parvenant peut-être pas à maintenir le verrou <lock> avant d’appeler la fonction <func>.

C26165

Échec possible de la libération du verrou

C26166

Échec possible de l’acquisition ou du maintien du verrou <lock> dans la fonction <func>.

C26167

Libération possible d’un verrou <lock> non maintenu dans la fonction <func>.

C28101

Le module du pilote a déduit que le type de la fonction active n’est pas valide.

C28182

Déréférencement du pointeur NULL

Dans cette section

Analyse du code managé

L’analyse du code managé fournit des informations sur les assemblys managés, notamment les violations des règles de programmation et de conception présentées dans les Règles de conception de Microsoft .NET Framework.Les messages d'avertissement identifient les problèmes de programmation et de conception pertinents et, si possible, fournissent des informations relatives à leur résolution.

Analyse du code C++

L'outil d'analyse du code C/C++ fournit aux développeurs des informations sur d'éventuelles erreurs présentes dans leur code source C/C++.Les erreurs de codage courantes signalées par l'outil sont les dépassements de mémoire tampon, la mémoire désinitialisée, les déréférencements du pointeur null et les fuites de mémoire et de ressources.

Analyse du code pour les pilotes

Les outils d'analyse du code peuvent vous aider à renforcer la stabilité et la fiabilité de votre pilote en analysant systématiquement son code source.

  • Analyzing Driver Quality by Using Code Analysis Tools
    L'analyse du code pour les pilotes est un outil statique de vérification au moment de la compilation qui détecte les erreurs de codage de base dans les programmes C et C++ et inclut un module spécialisé qui est conçu pour détecter les erreurs dans du code de pilote en mode noyau (principalement).Le vérificateur de pilote statique (SDV, Static Driver Verifier) est un outil de vérification statique qui analyse systématiquement le code source des pilotes en mode noyau de Windows.SDV détermine si le pilote interagit correctement avec le noyau du système d'exploitation Windows.

  • Code Analysis for Drivers Warnings
    Décrit les avertissements qu'émet l'analyse du code pour les pilotes quand elle détecte une erreur possible dans le code du pilote.

Autres rubriques de cette section

  1. Viewing Code Analysis Messages

  2. Amélioration de la qualité du code avec les stratégies d'archivage de projet d'équipe

Plus d’informations sur l’analyse du code

Amélioration de la qualité du code avec les stratégies d'archivage de projet d'équipe

Tâches connexes

  1. Mesures de la complexité et de la facilité de maintenance du code managé

  2. Vérification du code à l'aide de tests unitaires