Question

Je voudrais utiliser Cppcheck pour l'analyse de code statique de mon code C ++. J'ai appris que je peux supprimer une sorte d'avertissements avec commande --inline-suppr. Cependant, je ne peux pas trouver ce que « suppressed_error_id » Je devrais mettre dans le commentaire:

// cppcheck-suppress "suppressed_error_id"
Était-ce utile?

La solution

Selon l'aide de cppcheck:

L'identifiant d'erreur est l'identifiant que vous voulez supprimer. La meilleure façon de l'obtenir consiste à utiliser l'indicateur de ligne de commande --xml. Copiez et collez la chaîne d'identification de la sortie xml.

Alors courez cppcheck contre un code qui contient l'erreur avec le drapeau de --xml, et puis regardez dans le fichier XML généré pour trouver son nom.

Autres conseils

Vous pouvez modifier le modèle de sortie pour afficher l'ID d'erreur de la ligne de commande, ce qui est tout à fait propre.

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

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

Cela produira quelque chose comme de sortie ceci:

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

que vous pouvez ensuite suppress en ajoutant la ligne:

// cppcheck-suppress bufferAccessOutOfBounds

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

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

cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}'

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top