タグ

コールグラフに関するkyouzontのブックマーク (2)

  • C言語/C++ コードを解析してインタラクティブなコールグラフ表示 by lctags - Qiita

    お知らせ 5月を目途に自分のサイトに引き揚げます。 https://ifritjp.github.io/documents/ lctags で解析した C言語/C++ コードの情報を基に、インタラクティブなコールグラフ表示に対応しました。 従来からコールグラフ表示を対応していましたが、それは事前に設定したコールグラフの深さ以内の全コールを辿るグラフを静的に生成するもので、この方法だと次の問題がありました。 辿りたい関数コール以外のパスまで展開されてしまう すぐに巨大なグラフになってしまう 設定された深さの全コールを解析&グラフ作成するため時間がかかる この問題を解決するため、インタラクティブに関数コールを展開可能なコールグラフ表示に対応しました。 このコールグラフは次の機能を持ちます。 動的に関数コールを展開/格納可能 最低限のコール情報しかアクセスしないため反応が早い 関数ポインタを利用

    C言語/C++ コードを解析してインタラクティブなコールグラフ表示 by lctags - Qiita
  • コールグラフを描く2つのツール(EgyptとCodeViz) by Inquisitor

    休日(でなくてもいいけれど)の読書の題材としてコンピュータ・プログラムを選んだとき、単にコードを読むだけでなく、何か図形的な補佐が欲しいと思うことがある。 オブジェクト指向の言語だとUML図が便利だが、別のパラダイムではあまり役に立たない。 たとえばC言語では、プログラムの構成要素である関数(というか手続き)の呼び出し合う関係を視覚化できると少しうれしい(「すごくうれしい」とまではいかない)。 次のようなコードがあったとする。 #include <stdio.h> int fib(int n) { if (n<3) return 1; return fib(n-2)+fib(n-1); } int main() { int i; for (i=1; i<=10; ++i) { printf("fibonacci(%d) = %d\n", i, fib(i)); } return 0; }

    コールグラフを描く2つのツール(EgyptとCodeViz) by Inquisitor
  • 1