[問題] 請問有什麼軟體可以畫出function flow的?

作者: smilekerker (科科:))   2015-01-09 08:02:43
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
請問有什麼軟體可以畫出function flow(名稱我也不太會取,可能是其他種)的?
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
int a(){
int x;
x= b();
return x;
}
int b(){
int x;
x= c();
return x;
}
int c(){
int x=10;
return x;
}
int main(){
int x;
x= a();
return 0;
}
補充說明(Supplement):
像是上述程式碼,一層一層呼叫進去再回來
有無軟體可以將這樣的流程(圖)畫出來呢?
或是用其他方式呈現之類的
要google苦無不太知道關鍵字是什麼,找不太到
謝謝 :)
作者: cjcat2266 (CJ Cat)   2015-01-09 08:37:00
有些profiler可以呈現call stack不知道是不是你要的也可以在函式的scope裡面自己插入視覺化邏輯
作者: smilekerker (科科:))   2015-01-09 08:42:00
請問profiler是...? 可以多提供一點訊息,我試看看~嗯,因為要看是open source,不是自己寫的,目前還沒有能力自己修改程式碼,只能找tool來幫助看code所以才想說有沒有這類的軟體可以幫忙畫個圖以助釐清
作者: christianSK (AG)   2015-01-09 09:15:00
callgrind?
作者: carylorrk (carylorrk)   2015-01-09 10:57:00
doxygen 或 clang?
作者: LiloHuang (十年一刻)   2015-01-09 11:03:00
花錢買個好工具也許是一個方法 http://goo.gl/pygzRrUnderstand 有提供各種平台的版本,包含 Linux x86/x64
作者: PoorLoser (廢文製造機)   2015-01-09 11:11:00
Edraw Mind Map 免費版的功能已夠用
作者: carylorrk (carylorrk)   2015-01-09 11:23:00
如果有些需要 runtime 才知道的(ex:function pointer)才需要用到 profiler...還可以畫 edge probability XD有些 static analyzer 可以算出來,但是特定情況的indirect call 還是需要 runtime 跑跑看XD
作者: Killercat (殺人貓™)   2015-01-09 17:44:00
你想說的是Sequence Diagram吧....某些付費軟體如Enterprise Architect有從runtime parse出sequence diagram(逆向工程)的方法 不過已C/C++來講這應該都不會是免費的... Java比較有機會找到免費的
作者: carylorrk (carylorrk)   2015-01-09 18:19:00
perf 我記得也可以畫出(文字版的)call graph...
作者: Killercat (殺人貓™)   2015-01-09 18:29:00
自畫的話一堆免費軟體都能做到倒是真的... XD要逆向工程runtime幫你分析畫出來的話就比較.....
作者: tubbysong (song)   2015-01-09 18:36:00
Source Insight
作者: carylorrk (carylorrk)   2015-01-09 18:36:00
perf 的 call graph 是 runtime 的 call stack 啊XD
作者: tubbysong (song)   2015-01-09 18:37:00
Source Insight 菜吧看碼神器
作者: carylorrk (carylorrk)   2015-01-09 18:37:00
而且至少樹狀圖看起來還 OK 啦~
作者: michael0728n (蒜˙遠古)   2015-01-09 18:57:00
Astah? 不過讓它幫畫好像要錢Source Insight可以畫圖嗎?!
作者: elysium5290 (他塌塌塌塌)   2015-01-17 08:41:00
linux的gprofile?

Links booklink

Contact Us: admin [ a t ] ucptt.com