簡體   English   中英

控制流圖生成器,用於C ++中的代碼

[英]Control Flow Graph generator for code in C++

我正在尋找使用C ++編寫的源代碼的“控制流圖”生成器。 您知道任何開源的靜態生成器嗎?

我想在我的畢業項目中使用它來生成控制流程圖並突出顯示在分析應用程序執行期間已執行的路徑。

我已經編寫了整個引擎來記錄執行的行。

感謝您的所有答案。

CoFlo是一個免費和開源的源代碼分析工具,可從C和C ++源代碼生成和分析控制流程圖。

您可以使用clangllvm

首先將程序編譯為llvm ir

clang++ -emit-llvm -S prog.cpp -o prog.ll

然后使用opt生成控制流程圖。

opt --dot-cfg prog.ll

這將輸出一個點文件,可以使用graphviz查看該文件。 在Mac上,您可以執行brew install graphviz並運行以下命令以生成png。

dot -Tpng cfg.main.dot -o main.png

您的程序中的每個功能都應該有一個點文件,因此編寫腳本以將它們全部自動轉換為png可能會更容易

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM