$ sudo npm -g install jscallgraph $ sudo apt-get install graphviz
第二行是安裝 graphviz,主要的用途是拿來產生分析完的圖形用的。使用上很簡單,舉例來說你想要對 Firefox OS 的 system app 裡面的 window_manager.js 作靜態分析,把檔案抓下來,用以下指令產生 dot file
$ jcg window_manager.js WindowManager > window_manager.dot
第一個參數是要分析的檔案,第二個參數是要分析的物件,這邊可以參考一下 window_manager.js 的檔案,裡面宣告了 WindowManager 物件,並且把相關 method 都包裝在裡面。
接下來用 graphviz 的 dot 指令產生 png 圖檔
$ dot -Tpng -o window_manager.png window_manager.dot
這樣就完成了!
Source code 放在 github, 請大家自由取用!另外這程式不是什麼 javascript 都可以分析,有興趣的請送 patch! :D
awesome!
回覆刪除