Comment utiliser l'option de filtre de suppression en ligne de cppcheck pour le code C++?

j'aimerais utiliser Cppcheck pour l'analyse de code statique de mon code C++. J'ai appris que je peux supprimer une sorte d'Avertissements avec --inline-suppr la commande. Cependant, je ne trouve pas ce que "suppressed_error_id" je devrais mettre dans le commentaire:

// cppcheck-suppress "suppressed_error_id"
19
demandé sur Wolf 2010-06-02 13:17:49

4 réponses

Selon le cppcheck aider:

L'erreur id est l'id que vous souhaitez réprimer. La façon la plus simple de l'obtenir est d'utiliser le drapeau --xml de la ligne de commande. Copier et coller la chaîne d'id xml de sortie.

alors exécutez cppcheck contre un code qui contient l'erreur avec le --xml flag, puis regarder dans le fichier XML généré pour trouver son nom.

10
répondu 2010-06-02 09:25:30

vous pouvez modifier le modèle de sortie pour afficher l'identifiant d'erreur de la ligne de commande, ce qui est assez soigné.

pour une sortie au format Visual Studio avec l'id d'erreur affiché, ajoutez ceci à votre ligne de commande:

--template "{file}({line}): {severity} ({id}): {message}"

Cela va produire quelque chose comme ceci:

s:\src\jpeg.cpp(123): error (bufferAccessOutOfBounds): Buffer access out-of-bounds: abRY

que vous pouvez supprimer en ajoutant la ligne:

// cppcheck-suppress bufferAccessOutOfBounds

À la ligne précédente dans le fichier source.

19
répondu Andy Krouwel 2011-07-07 15:07:05

Selon cppcheck page de manuel de, vous pouvez utiliser le --template option pour changer la sortie par défaut pour inclure l'id, par exemple

cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}'
3
répondu mabraham 2014-10-04 14:55:41

Si vous utilisez l'interface graphique, vous pouvez faire un clic droit sur le message que vous souhaitez supprimer pour faire apparaître un menu. Sélectionnez "Copier l'id du message". Collez l'id du message dans votre code à la place de "suppressed_error_id".

0
répondu Sara Wolfie 2016-10-04 16:58:51