問題タブ [klocwork]

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 投票する
3 に答える
2032 参照

c - nullで終了していない文字列-理解できる理由のないKlocWorkエラー

最近「klocwork」をインストールし、既存のコードのバグを取り除こうとしています。示されているエラーは単純なようです。の終了時にnullはありませんchar * _p_。手動でヌル終了を追加しましたが(必要はありませんが)、Klocworkを満足させません。何か案は?

正確なメッセージは次のとおりです。-

誤って終了した文字列' p 'により、 pでバッファオーバーフローが発生します。

================================================== =========こんにちは皆さん、回答ありがとうございますが、それよりも少しわかりにくいようです。コードをこの単純なケースに改良しました。-コードがすべて1つの関数で記述されている場合、エラーは発生しませんが、割り当てセクションが関数(およびパラメーターとして渡されたテキスト)でラップされている場合、Klocworkエラーが返されます。このコードを参照してください:-エラーのないバージョン:-

一方、/ * ++++ * /の間にコードを取り、それを関数でラップすると、上記のKlocWorkエラーが返されます。

したがって、

何か案は?

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

c - null で終了しない文字列の誤警報?

Klocwork は、誤ったアラームと思われるアラームを生成しています。それが言及しているバグは、私たちのコードの全バグの約 80% を説明しています。お知らせ下さい、

これにより、スニップセット(言い換え)があります:-

0 投票する
3 に答える
1823 参照

c - ABR - Klocwork の誤警報と不適切なバグ処理

Klocwork は次のエラーを報告します:-

「ABR – バッファ オーバーフロー、'oidsp' の配列インデックスが範囲外の可能性があります。サイズ 64 の配列 'oidsp' は、インデックス値 -2..-1 を使用する可能性があります。」

この行の場合:-

check_index_lower_legality が次の場合:-

ただし、次の場合はバグはありませんcheck_index_lower_legality:- (ちなみに、これは間違った答えです。-2 または -1 のオフセット値については、実行時に実際のエラーが発生します。

何か案は?

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

c - プロジェクト構成の問題で、プロジェクトごとに一意の kwcc_config.xml を指定する方法はありますか?

ファイル kwcc_config.xml には、プロジェクトで使用される特定のコンパイラの定義とインクルード パスが含まれています。

プロジェクトごとに環境が異なるため、プロジェクトごとに異なる定義とパスが必要です。

プロジェクトごとにそのようなファイルを定義するオプションはありますか? その場合、各プロジェクトに kwcc_config.xml ファイルを割り当てるにはどうすればよいですか?

0 投票する
4 に答える
729 参照

c - Klocworkは呼び出されたことがない関数を検出しますか?

私のコードは、古いコードのさまざまな部分が混ざり合っています。

コードを単純にするために、使用したことのない関数をすべて消去したいと思います。

Klocworkはツールですか?どうすればいいのですか?

ありがとう、

モシェ。

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

c - Klocwork & c - 実際に使用されたソース コードの行数

私のプロジェクトは、古いコードの断片から構成されています。

実際に使用されたコード行数を知るにはどうすればよいですか?

Klocwork はこの答えを教えてくれますか? Klocwork がプロジェクトの行数 (SLOC) を保持していることに気付きましたが、これは実際に使用された行数ですか?それとも「デッド コード」領域が含まれている可能性がありますか?

ありがとう、

モシェ

0 投票する
3 に答える
1195 参照

c++ - Klocwork (またはその他のツール) は、型、typedef、および #define ディレクティブを認識することができますか?

プログラムが 64 ビット コードとして適切に実行されないようにするエラーを検出するのに役立つツールを探していました。ごく最近、私は Klocwork とそのカスタム チェッカー機能をいじっていました。これにより、XPath を使用してソース コードをツリーとしてナビゲートできます。これは、正規表現の「よりスマートな」代替手段として役立ちますが、型を認識させることはできませんでした。

たとえば、カウントにanまたは aをfor使用するループのすべてのインスタンスを見つけたいとします。次のコードは簡単に見つけることができます。intlong

変数定義はループ内にあるため、このコードの検索は簡単です。ただし、次の例を検討してください。

変数定義がループから分離されており、必要な XPath 式が扱いにくく、バグが発生しやすいため、これを見つけるのは困難です。

では、カスタム Klocwork ルールは、解決typedef#defineステートメントなど、型認識が必要な場所でこのような式を見つけることができますか? これを行うことができる他のツールはありますか?

編集 1:次の例を検討してください。

の型がとして明示的に定義されているため、 ahmeddirie によって提供されるソリューションは最初のループを見つけます。ただし、typedef によって基になる型が隠されているため、2 番目のループは見つかりません。2 番目のループ変数が実際に であることを識別する方法で型を追跡するツールは?iintjint

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

klocwork - デフォルトで Klocwork 連続解析を無効にする

Klocwork の「連続解析」オプションをデフォルトで無効にするにはどうすればよいですか?

Eclipse プラグインと .sln ファイルに対して無効にする方法はわかっていますが、これは正常に機能しますが、これは、ユーザーが .sln ファイルまたは Eclipse ワークスペースを作成するたびに実行する必要がある追加の手順です。そして、これを行うためのライセンスをチェックアウトすることになります (local.properties ファイルを直接変更しない限り)。

各 MS Visual Studio/Eclipse ワークスペースを個別に変更せずに、これをデフォルトでグローバルにオフに設定する方法はありますか?

ありがとう!

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

static-analysis - KlocworkInsightの実行からTFS作業項目を自動的に生成します

近い将来、コード分析にKlocwork Insightを使用することを検討しており、ソースをTeam Foundation Server 2010に移行しています。見つかった問題の作業項目を作成するようにKlocworkに指示
することはできますか?または、これを行うスクリプトを作成する必要がありますか?

TFS 2010は、「Klocwork Inspectでサポートされているソフトウェア構成管理(SCM)システム」としてリストされていますが、これは、TFSからコードを取得する機能のみを指している場合があります。悲しいことに、このサイトはこれ以上詳しく説明していません。

このトピックに関するアイデアはありますか?前もって感謝します。


[編集]詳しく説明する:
TFSで生産性を上げた後、おそらく、ワークスペースをKlocworkサーバーに移動し、Klocworkを個別に実行し、出力を処理するための独自のIDEのみを使用する初期段階があります。大きな問題については、現在と同じように(別の問題ツールを使用して)手動でWIを作成する必要があります。

その後すぐに、毎週のビルドのビルドワークフローにKlocworkを含める予定なので、TFSは少なくともその終了状態を認識します。Klocworkが「失敗」した場合、TFSはWIを作成できると思いますが、たとえば、重大度x以上または特定のIDの問題ごとに1つのWIを作成できますか?

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

c - 奇妙なクロックワークの検出(バッファオーバーフロー)

私はこれを理解することはできません。私は次のコードを持っています:

そしてKlockworkは私に教えてくれます

バッファオーバーフロー、「テーブル」の配列インデックスが範囲外である可能性があります。サイズ1000(調整済みサイズ250)の配列「テーブル」は、インデックス値250..999を使用できます。

ここに本当の問題はありますか?存在しない場合、これは非常に明白な誤検知のようです。