問題タブ [cppcheck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1736 参照

jenkins - CppCheck のコマンド ラインから保存したプロジェクトを実行する方法

CppCheck_MainRls.cppcheck 複数のディレクトリを含むCppCheck という名前のプロジェクトを作成しました。GUI からプロジェクトを実行でき、動作しています。私のプロジェクトは巨大なので、CppCheck を通過して結果を xml ファイルにエクスポートするために必要なディレクトリはわずかです (後で jenkins によって読み取られます)。

現在のコマンド ラインは次のとおりです。

「AllShared」ディレクトリでうまく機能していますが、プロジェクトファイルを読み取るように変更するにはどうすればよいですか?

0 投票する
1 に答える
917 参照

xml - JenkinsのCppCheck XML出力をソートするには?

From : XSLT Sorting - 親ノード内のxml子ノードを属性でソートする方法

XML ログ ファイルを解析する Jenkins の CppCheck プラグインを使用しています。ただし、CppCheck はすべてをそのまま配置し、ソートされません。XML ログ ファイルを「場所」タグで並べ替えたいと思います。

tl;dr : XML 階層は 'results/errors/error/location' です。'location/@file' および 'location/@line' に従って 'error' をソートしたい

私はこれを使用しています:

次の XLST 変換ルールを使用:

しかし、うまくいきません。CppCheckが生成するものは次のとおりです。

私が取得したいもの:

私が現在得ているものはまだソートされていません(XMLStarletは最初のエラーメッセージを1行で平らにします):

よくない。

私は XML 変換の新人なので、どんな助けも歓迎します。

フィードバックをお寄せいただきありがとうございます...

0 投票する
1 に答える
239 参照

c - cppcheck alloc/free 関数名の変更

動的メモリ割り当てのラッパーを使用して記述されたソース コードがあります。

何かのようなもの:

これは移植性を確保するために行われました。コードはサードパーティであるため、問題はバグを修正することであり、すべてを書き直すことではありません。

cppcheck でコードを検証したいのですが、cppcheck は関数呼び出しを解決しないため、メモリ割り当てにエラーは見つかりません。

標準関数の代わりにラッパーをチェックするように、メモリ割り当て/解放のために cppcheck 関数を変更する方法はありますか?

0 投票する
2 に答える
6752 参照

c++ - 割り当てと解放の不一致でこのエラーを修正するにはどうすればよいですか?

Cppcheck は、delete cname;. 私のバージョンのコードを使用する際の問題が何であるかわかりません - 動作しているようです。

私のコードは間違っていますか?どうすれば修正できますか?そして、私のコードを使用した結果はどうなりますか?

0 投票する
1 に答える
722 参照

c++ - make cppcheck は PACKAGE 定義をスキップします

C++-Builde-6 コードの静的コード分析に cppcheck 1.64 の GUI バージョンを使用しています。DLL のエクスポートとインポートの場合、次の定義PACKAGEが必要です。

Cppcheck は、それPACKAGEが何を意味するのかわからないため、遭遇すると停止します。

コード「class PACKAGE TAppInfoDialog {」は処理されません。-I または --include を使用して、このコードの処理を追加できます。

...そしてもちろん、これはクラス全体がチェックされていないことを意味します。cppcheckに単にPACKAGE「キーワード」を無視させることができれば、まったく正しいことを行うことができますが、どのように行うのでしょうか? インクルードパスを介して元の定義を含めることはオプションではないようです.cppcheckは、変更できないVCLフレームワークのヘッダーについて多くのことを教えてくれます...

マニュアルにはそれを行うためのオプションが記載されていません.Googleは助けません.SOにはまだ答えがありません.

cppcheck イシュー トラッカーで、類似の問題#4707 (クラスの Microsoft 'abstract' および 'sealed' 拡張) – cppcheck を見つけました。ここで主任開発者は、ファイルを作成して (事前に?) cppcheck の実行に含めることを提案していますが、私は GUI バージョンを使用しており、単一のファイルを含めるオプションはありません。そこで、プロジェクト オプション (XML ファイル) のインクルード セクションにディレクターを追加しようとしました。次に、対応する行をファイル仕様に編集しましたが、このセクションにはインクルード パスが含まれているため、明らかに意味がありません。

次に何を試すことができますか?