calltree是乙個用於幫助閱讀源**的工具,其可以生成函式之間的關係呼叫圖。
安裝:解壓後直接make即可,在make過程中會遇到錯誤,解決的命令
1、cp rules/i686-linux-cc.rul rules/x86_64-linux-cc.rul
2、find . -name
"*.[c|h]"
|xargs sed -i -e
"s/fexecve/fexecve_calltree/"
find . -name
"*.[c|h]"
|xargs sed -i -e
"s/getline/getline_calltree/"
find . -name "*.[c|h]" -exec grep getline -nh {} \;
find . -name "*.[c|h]" -exec grep fexecve -nh {} \;
3、
安裝好後,軟鏈結到/usr/bin目錄下 ln -s /home/***/calltree/obj/x86_64-linux-cc/calltree /usr/bin/calltree
apt-get install graphviz先安裝
使用:
-g輸出函式所在檔案的目錄
-m引數只用於分析main函式中的函式呼叫關係。
-p引數是預設的。它表示要使用c語言預處理程式分析**。缺點是它會產生很多我們不關心的訊息。
-np和-p是相反的。它表示不要使用c語言預處理程式分析**。如果指定它,可能會導致分析過程出錯。因為像開源專案,有幾個不需要預處理處理下呢?
-xvcg引數表示匯出乙個可以使用vcg軟體處理的格式的檔案。
-dot引數表示匯出乙個dot格式檔案,可以供graphviz處理的。
list可以讓我們指定僅僅需要分析的函式裡的函式呼叫。
還有乙個重要的選項是listfunction ,縮寫是lf,用來只列印某個函式中的呼叫,用法是: lf=your_function
使用一:
#calltree -np -b list=start_kernel depth=3 `find ./init/ ./kernel/ -name "*.c"` > maps
#vi maps
使用二:
calltree -np -b -dot list=start_kernel ./init/*.c > ~/start_kernel.dot
dot -t png start_kernel.dot -o ./testhaha.png
使用三:
calltree -dot list=
"ev_run"
*.c > ev_run.dot
dot -tgif ev_run.dot -o ev_run.gif
systemimager的安裝與使用
它是如何工作的?systemimager 應用 伺服器,被稱作映象伺服器,它取回乙個 golden client 的整個系統映象並將其部署到任何其它不同數量的客戶端系統中。golden client 系統是你按照自己的喜好定製的。你可以重新編譯核心,安裝軟體,按你的喜好調整任何配置檔案。si get...
kermit的安裝與使用
kermit安裝過程 1 mkdir kermit cd kermit 2 wget 3 gunzip cku211.tar.gz 4 tar xvf cku211.tar 5 rm cku211.tar optional 6 make linux 7 cp wermit usr bin kermi...
bugzilla 的安裝與使用
然後就對apache進行配置 tar zxvf httpd 2.2.22.tar.gz進行解壓 然後進入httpd 2.2.22目錄 進行配置apache伺服器 執行sudo configure prefix usr local apache命令 然後執行sudo make sudo make in...