C/C++ インスペクションのリスト
データフロー分析
インスペクション | 説明 | デフォルトの重大度 |
|---|---|---|
定数条件 | メソッド制御とデータフローを分析して、常に true または false である条件と静的に定数値を持つ式を報告します。 |
|
定数関数の結果 | 戻り値が常に同じ定数に等しい関数を検出します。 |
|
定数パラメーター | パラメーターが常に同じ定数に等しい関数を検出します。 |
|
ぶら下がりポインタ | 無効なデータを指すポインターを検出します。典型的なケースは double-freeや use-after-freeの問題です。 制限事項の一覧については、この 親チケットを参照してください。 |
|
無限ループ | 例外をスローすることによってのみ中断できる |
|
無限再帰 | 関数が無限再帰を生成するタイミングを検出します。 |
|
スコープをエスケープするローカル値 | 関数をエスケープするローカル値への参照を報告します。 |
|
ループ内で更新されないループ条件 | 無限ループの原因となる可能性があるループ内でループ条件が更新されない状況を検出します。 Clang-Tidy、 |
|
メモリリーク | アクセスできなくなる前に解放されなかったメモリ割り当て ( 詳細については、 インスペクション: メモリリーク を参照してください。 |
|
初期化されていないフィールド | 初期化と使用が別の関数で行われる場合を含め、使用前に初期化されていない可能性があるフィールドをレポートします。 |
|
null 逆参照 |
|
|
到達不能な関数の呼び出し | 呼び出しサイトが実行されない関数を検出します。 |
|
到達不能コード | 実行されないコード(デッドコード)を検出します。 |
|
未使用のローカル変数 | 宣言されているが使用されておらず、読み取りのためにアクセスされていない変数を検出します。 |
|
未使用のパラメーター | 宣言されているが使用されておらず、読み取りのためにアクセスされていないパラメーターを検出します。 |
|
未使用の値 | 割り当て後に変数の値が使用されないケースを報告します。 未使用の変数初期化子について警告する チェックボックスをオフにして、デフォルトの変数初期化子のインスペクションを無効にします(たとえば、ポインター型の変数に ![]() |
|
関数
インスペクション | 説明 | デフォルトの重大度 |
|---|---|---|
非仮想関数の隠蔽 | 関数が基本クラスから同じシグネチャーを持つ非仮想関数を非表示にしたことを報告します。 |
|
実装されていない関数 | 関数が宣言されているが定義されていないことを検出します。 |
|
一般
インスペクション | 説明 | デフォルトの重大度 |
|---|---|---|
引数選択の欠陥 | 呼び出し内の引数の名前と宣言内の仮パラメーター名を比較して、引数の偶発的な切り替えなどのエラーを検出します。 詳細については、 インスペクション: 引数選択の欠陥 を参照してください。 |
|
Clangd エラーと警告 | clangd からのエラーと警告を報告します。 このインスペクションは入力中にエディターで動作し、 インスペクションを手動で実行して 結果の概要も取得できます。 | |
空の宣言またはステートメント | 安全に削除できる冗長な空の宣言とステートメントを報告します。 |
|
一貫性のない命名 | シンボルが現在選択されている命名規則に違反したときに報告します。 詳細は 命名規則違反のコード検査をご覧ください。 | |
プリプロセッサーディレクティブコメント | プリプロセッサーの |
|
制約のない変数型 | 制約された式または関数呼び出しの結果が割り当てられている場合、 このインスペクションは、Windows ではデフォルトで無効になっており、 |
|
コンストラクターまたはデストラクターからの仮想呼び出し | 仮想関数がコンストラクターまたはデストラクターから呼び出されたときに報告し、仮想関数がまだ初期化されていないリソースまたはすでに破棄されているリソースにアクセスする状況を防止します。 |
|
静的分析ツール
インスペクション | 説明 | デフォルトの重大度 |
|---|---|---|
Clang-Tidy | C++ コアガイドライン、コードの最新化、可読性、パフォーマンスの問題に関連するさまざまな clang-tidy チェックを実行します。 詳細については、 Clang-Tidy インテグレーション を参照してください。 |
|
MISRA チェック | MISRA(英語) ガイドライン C2012 および C++2008 で定義されたチェックを実行します。 現在サポートされているチェックのリスト(英語)を参照してください。 オプション セクションでチェックのリストを調整できます。 ![]() MSVC を搭載した Windows (clang-cl の場合を含む)では、CLion は MISRA C++ チェックのみを表示することに注意してください。 MISRA C チェックは、MSVC でサポートされていない |
|

