問題タブ [cppdepend]
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.
c++ - cppdepend を使用して保護されていないコードを検出し、コール チェーンで欠落している外部ガードを監査しますか?
呼び出し元の上位レベルでガード句によって保護されていないコードを検出しようとしています。cppdependにかなり近づくことができると思いますが、問題を正確に特定できるかどうかはわかりません。
ロック保護が必要なコードがたくさんあるので、最も内側の関数にアサーションがあります。
eventQueue
は type の静的インスタンスであることに注意してくださいEventQueue
。
そのアサーションを含む関数が呼び出され、呼び出し元チェーンのある時点でガード オブジェクトのインスタンスがないすべての場所を検出したいと考えています。
したがって、呼び出し元チェーンのある時点で次の式があっても問題ありません。
ただし、その上のどこかIsCurrentEventGuarded
にその保護インスタンスがない状態でへの呼び出しが発生した場合は、検出されるべき問題があります。
節を使用してガードを作成する上位レベルのGuarding メソッド(つまり、無視できる優れたメソッド) を見つけることができます。
理想的には、これらのメソッドの上と下のすべてを無視できるはずです。
より興味深い節では、メソッドの 2 つのセットが見つかります。ガードメソッドの下(ガードとテストの間) と、必要な呼び出しチェーン内にあり、保護されていないメソッドです。
ロックより下の呼び出しチェーンまたはより高い位置にあり、保護されていない 65 個のメソッドを検索します
ndepend - CppDepend と NDepend の比較
CppDependとNDependはどちらも同じ会社によって開発されており、同じコードベースに基づいており、いくつかの機能を共有しているようです。比較サイトはまだ見つけていません。
私は、c++ コードをまったく使用しないいくつかの単純な c# ソリューションに取り組んでいますが、c# 以外に c++ マネージ コードと c++ ネイティブ コードを含むソリューションもあります。
すべてのプロジェクト タイプの完全な機能セットが必要な場合、本当に両方のツールを購入する必要がありますか? CppDepend を使用した混合ソリューションと、NDepend を使用した c# のみのソリューションを開く必要がありますか? NDepend は C++ プロジェクトを分析できないようですが、CppDepends でソリューションを開くと、同じソリューション内の C# プロジェクトの NPDepend 機能がいくつか失われます。NDepend が CppDepend をプラグイン/拡張機能としてロードできればいいのですが、それは不可能ですよね?
c++ - cpp依存。問題?リリースノート?コミュニティ?サポート?
大規模なプロジェクトを分析するためのcppdependツールを発見しました。しかし、私が見るように、それにはいくつかの問題があります。
たとえば、(私にとって)主で重要なのは、コードで自分で見たいくつかの依存関係ですが、 cppdepends は要素が互いに独立していることを認識せず、伝えます。私が見たように、問題は C++ コードのテンプレートとマクロの近くにあります。
したがって、この問題を回避する方法を見つけようとしています。おそらく、cppdepend がこの依存関係を確認できるようにすることができます。グーグルは私を助けません。開発者 (cppdepend チームを含む) がこのツールについて話し合い、質問に対する回答を見つけることができるコミュニティ/フォーラム/グループ/ブログは見つかりませんでした。最後のブログ、問題レポートは2010 年からのものです。
さらに、公式サイトには、リリースノート、バグレポート、「新着情報」リストは含まれていません。
信じられないことに、非常に強力なツールに関するすべての参照が、ドキュメント、ビデオ、レッスンなどを持っているのに、次のような投稿にしか含まれていません。
「おすすめの道具は?」
「cppdepend を試してください。」
c++ - cppdepend の解析フローの見方 (例: 基本クラスでは派生を使用しない)
私はcppdependで遊んでいますが
、1つのバグがあります。
「基本クラスは派生物を使用しないでください」に違反する特定のクラスをリストしています。しかし、基本クラスが派生物をどこでどのように使用しているかを正確に確認する方法がわかりませんでした。それはできますか?ところで、Winで評価版を使用しています。
c - cppDependを使用してCソースコードのコールグラフを描画する
cppDependツールの使用に問題があります。C言語で書かれたソースコードがあり、その依存関係を描画するか、グラフを呼び出す必要があります。cppDependのコンパイラのソースコード拡張子はc;cpp;cxx; ccに設定されていますが、Cでソースコードを開きたい場合、ファイルチューザボックスではC++でのみソースコードを選択できます。
私は何をすべきか????
visual-studio - CppDepend プラグインでビジュアル スタジオがクラッシュする
CppDepend プラグインをインストールした後、Visual Studio (2012 および 2013) を起動できません。
いくつかの情報ウィンドウが役立つ可能性があります:
これを修正する方法はありますか?
cppdepend - CPPDepend 仮想機能の使用状況の検出
仮想関数の使用状況を検出する CPPDepend の機能に少し問題があります。次のシナリオを検討してください。CParentClass と CChildClass の 2 つのクラス。CChildClass は CParentClass から派生しています。CParentClass には仮想関数 Test があり、CChildClass は Test の基本クラス バージョンをオーバーライドします。
使用に関しては、さまざまな理由から、次のようなことをしたいと考えています:-
これにより、必要に応じて pMyChild の Test 関数が呼び出されますが、CPPDepend はこれを検出せず、コードに到達していないと主張します。「virtual」という単語を CChildClass の Test 関数ヘッダーに追加すると (CParentClass に既にあるものに加えて)、CPPDepend はすべて問題ないと主張します。
基本クラス関数だけでなく、派生クラス関数にも virtual を配置する必要があるのは間違っていると感じているので、誰かがこれに光を当てることができますか?
同様の問題は、派生クラスの CDialog デストラクタでも見られます。派生クラスのデストラクタ宣言に virtual がない場合、CPPDepend は不平を言います。
ご協力いただきありがとうございます。
よろしく
ニール。
c++ - Cppdepend C++ Linux ベース
Visual Studio ではなく、Linux で作成されたC++ プロジェクトのコード メトリックを生成しようとしています。
Project Makerを試して、最後の部分を除いて手順に従いました(ソースファイルを追加した後、プロジェクトのプロパティを指定できます)。何を入力すればよいかわかりませんでした。それで、私は続行し、分析を開始すると、次のような非常に多くのclang解析エラーが発生します
「string」ファイルが「path/xyx.hpp」
に見つかりません fstream ファイルが「path/ii.hpp」に見つかりません
xyx.hpp
線があることはわかりますが#include <string>