uftrace 用於跟蹤和分析 C/C++ 編寫的程序的執行情況,它受到 Linux 內核的 ftrace 框架的啟發(特別是 function graph tracer),支持 userspace 程序。
uftrace 還支持各種類型的命令和過濾器,以幫助分析程序執行和性能。
功能特性
-
跟蹤可執行文件中的每個函數並顯示持續時間,還可以跟蹤外部庫調用 —— 但只支持入口和出口,並且不能跟蹤庫調用中的內部函數調用,除非庫本身已啟用分析構建。
-
可以在函數層面顯示詳細的執行流程,並報告哪個函數的開銷最高,它還顯示與執行環境有關的各種信息。
-
在追蹤時,可以設置過濾器以排除或包含特定的函數。另外,它可以保存和顯示函數參數並返回值。
-
它支持多進程/多線程應用程序, 如果系統啟用內核中的 function graph tracer,並使用 root 權限,可以跟蹤內核函數(使用 -k 參數)
https://www.oschina.net/p/uftrace