6

プロジェクト内の現在の C++ ファイルを解析し、その中のすべてのメソッド/関数を一覧表示してから、関数呼び出しと呼び出し元ツリーを生成したいと考えています。doxygen がコール ツリーを生成する方法を参照できます。

gccxml を確認しましたが、別の関数から呼び出された関数がリストされていません。

使用できる軽量ツール (オープンソース) をいくつか提案してください。

ありがとう!

4

5 に答える 5

6

静的呼び出しツリーは、必ずしも実行時呼び出しツリーである必要はありません。コールバックと仮想関数は水を濁らせます。したがって、静的分析では答えの一部しか得られません。

信頼できる呼び出しツリーを取得できる唯一の方法は、コンパイルされた実行可能ファイルでgprofを実行することでした。出力は、非常に正確なコールツリーにマッサージすることができます。

于 2009-11-13T15:37:29.540 に答える
4

現在、gccxml は基本的に関数本体 (他の関数への呼び出しを含む) を無視します。現在利用可能な C++ 構文解析オプションの概要は、ここにあります。必ずしも良いニュースを伝えるものではありませんが、読むことをお勧めします。

于 2009-11-13T06:29:42.093 に答える
2

あなたはDoxygenに言及しています。なぜそれを使用しないのですか?

于 2009-11-13T13:58:17.877 に答える
0

非同期イベント受信に依存するアプリケーションの完全なコール ツリー分析を提供することは不可能です。これがテストの方法です。アプリケーションが完全に決定論的である最も単純なケースでさえ、これは比較的困難な作業になる可能性があり、限界値を提供すると私は主張します. では、その結果をどのように分析しますか。どんな効果?

于 2012-11-30T02:55:00.417 に答える
0

私はおそらく誤解しましたが、ビジュアルスタジオには似たようなものがあります。関数を右クリックし、[ブラウザーの呼び出し] を選択します。

于 2010-10-04T19:49:08.380 に答える