C ++コードにcppcheckのインライン抑制フィルターオプションを使用する方法は?
-
23-10-2019 - |
質問
CPPCheckを使用して、C ++コードの静的コード分析を行いたいと思います。私は何らかの警告を抑制できることを学びました --inline-suppr
指図。ただし、コメントに入れるべき「suptress_error_id」が見つかりません。
// cppcheck-suppress "suppressed_error_id"
解決
cppcheckのヘルプによると:
エラーIDは、抑制するIDです。それを取得する最も簡単な方法は、-XMLコマンドラインフラグを使用することです。 XML出力からID文字列をコピーして貼り付けます。
したがって、エラーを含むいくつかのコードに対してcppcheckを実行します --xml
フラグ、そして生成されたXMLファイルを見て、その名前を見つけます。
他のヒント
出力テンプレートを変更して、コマンドラインからエラーIDを表示できます。これは非常にきれいです。
エラーIDが表示されたビジュアルスタジオ形式の出力の場合、これをコマンドラインに追加します。
--template "{file}({line}): {severity} ({id}): {message}"
これにより、このような出力が生成されます。
s:\src\jpeg.cpp(123): error (bufferAccessOutOfBounds): Buffer access out-of-bounds: abRY
次に、次の行を追加することで抑制できます。
// cppcheck-suppress bufferAccessOutOfBounds
ソースファイルの前の行。
による cppcheck manページ, 、使用できます --template
デフォルトの出力を変更してIDを含めるオプション、例えば
cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}'
GUIを使用している場合は、メニューをポップアップするために抑制するメッセージを右クリックできます。 「メッセージIDのコピー」を選択します。 「suptress_error_id」の代わりにメッセージIDをコードに貼り付けます。
所属していません StackOverflow