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