Pregunta

Me gustaría usar CPPCheck para el análisis de código estático de mi código C ++. Aprendí que puedo suprimir algún tipo de advertencias con --inline-suppr dominio. Sin embargo, no puedo encontrar lo que "supressed_error_id" debería poner en el comentario:

// cppcheck-suppress "suppressed_error_id"
¿Fue útil?

Solución

Según la ayuda de CPPCheck:

El ID de error es la ID que desea suprimir. La forma más fácil de conseguirlo es usar el indicador de línea de comandos --xml. Copie y pegue la cadena de ID desde la salida XML.

Así que ejecute cppcheck en algún código que contenga el error con el --xml FLAG, y luego mire en el archivo XML generado para encontrar su nombre.

Otros consejos

Puede cambiar la plantilla de salida para mostrar la ID de error desde la línea de comando, que es bastante ordenada.

Para una salida de formato de Visual Studio con ID de error que se muestra, agregue esto a su línea de comando:

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

Esto producirá salida algo como esto:

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

Que luego puede suprimir agregando la línea:

// cppcheck-suppress bufferAccessOutOfBounds

A la línea anterior en el archivo de origen.

De acuerdo con la Página del hombre CPPCHECK, puedes usar el --template Opción para cambiar la salida predeterminada para incluir la ID, por ejemplo

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

Si está utilizando la GUI, puede hacer clic derecho en el mensaje que desea suprimir para que aparezca un menú. Seleccione "Copiar ID de mensaje". Pegue la ID del mensaje en su código en lugar de "Supressed_error_id".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top