私は主にCとC++のプログラマーであり、非常に大きなコードベース(gcc、Linuxカーネル)の構造をすばやく理解する必要があります。この点で助けとなる道具があるのだろうかと思います。私は特にコールグラフ、プロジェクト全体のデータ構造の参照、依存グラフ、素早いシンボルの配置などを知っています。私はctagsとcscopeについて知っていますが、私はすぐに定義を見つけることができるコールグラフのようなより多くの視覚化特定の呼び出しでグラフをルートにする、それを反転する(つまり、すべての呼び出しを特定の関数に置くなど)ソースコードを閲覧する、理解する、読めるツール
7
A
答えて
0
SourceInsightを試してみてください。コードをブラウズし理解することは非常に役に立ちます。それはあなたが要求した機能のほとんどを提供します。
5
コールグラフを作成する場合は、GCCの-finstrument-functions
で独自のロールグラフを作成できます。あなたはそのオプションを有効にしてプログラムをコンパイルするとき、ターゲットプログラムが入るか、関数を終了するたびに、基本的に
は、GCCは、次の関数を呼び出します:
void __cyg_profile_func_enter (void *this_fn,
void *call_site);
void __cyg_profile_func_exit (void *this_fn,
void *call_site);
あなたはこれらの関数を定義している行う、と記述する必要がありますあなたのロジックの中でコールグラフを生成します。
This extremely thorough tutorialは、-finstrument-functions
とGraphVizを使用してコールグラフを作成する方法を説明しています。関係するすべてのツールはFOSSと無償です。もちろん
:
- GraphVizをが生成するグラフは、IDEの一部スタンドアロン、およびではありません。
- Linux(カーネル)のコールグラフを作成することが可能かどうか私は確信していませんこのように。
0
cflowを試すことができます。それは内部関数の呼び出しのgrafを提供します。それは非常に柔軟ではありません。
関連する問題
- 1. ソースコードの閲覧をブロックする
- 2. ウェブサイトのソースコードを理解するツール
- 3. スカラーのソースコードとレンダリングを閲覧するフォント<- and =>
- 4. VB6ソースコードを分析するツール(SciToolsからの理解など)
- 5. matlabのソースコードを解析するためのツール
- 6. リスト閲覧と未読メッセージ
- 7. ファイル閲覧のためにディレクトリを読み書きする方法は?
- 8. *はC++関数名ですか? Genodeソースコードのドキュメントを閲覧している間
- 9. ページ閲覧Wagtail CMSコレクションの閲覧
- 10. 難読化されたJavaScriptのソースコードを理解する
- 11. 閲覧アプリケーションにイベントを追加する
- 12. WebClientでサイトを閲覧する
- 13. ファイルを閲覧する「マイコンピュータ」のパス
- 14. 閲覧中のセクションを確認する
- 15. PDFファイルを閲覧するためのアプリケーション
- 16. androidのXML(特にrss)を閲覧するためのインテントフィルタ
- 17. WKWebViewでオフラインで閲覧するためのキャッシュURL応答
- 18. html5オフラインで閲覧するためのローカルストレージ
- 19. Webページの閲覧に関するAnalytics
- 20. Androidの閲覧
- 21. onDraw()閲覧
- 22. 閲覧用ロックテーブル
- 23. (2009年) - Javaコードを解読するツール
- 24. オフラインで閲覧するためにFirebaseから解析された情報を保存する
- 25. 誰かのコードを理解するためのツールとベストプラクティス
- 26. オフラインで閲覧するための完全なWebページをダウンロードする
- 27. オフラインで閲覧するためのウェブページをイオン化して保存する3
- 28. android webview pdf閲覧
- 29. オフラインWebページ閲覧
- 30. Ipad DWG/DXF閲覧
RTCM - コンパイラのマニュアルを読んでください。ほとんどのコンパイラは、あなたが望むものをいくつか行います。私が使用するコンパイラも例外ではないと思います。 –