# uftrace 用于跟踪和分析 C/C++ 编写的程序的执行 uftrace 用于跟踪和分析 C/C++ 编写的程序的执行情况,它受到 Linux 内核的 ftrace 框架的启发(特别是 function graph tracer),支持 userspace 程序。 uftrace 还支持各种类型的命令和过滤器,以帮助分析程序执行和性能。 ![img](CC++程序的跟踪和分析工具uftrace.assets/clip_image001.gif) 功能特性 · 跟踪可执行文件中的每个函数并显示持续时间,还可以跟踪外部库调用 —— 但只支持入口和出口,并且不能跟踪库调用中的内部函数调用,除非库本身已启用分析构建。 · 可以在函数层面显示详细的执行流程,并报告哪个函数的开销最高,它还显示与执行环境有关的各种信息。 · 在追踪时,可以设置过滤器以排除或包含特定的函数。另外,它可以保存和显示函数参数并返回值。 · 它支持多进程/多线程应用程序, 如果系统启用内核中的 function graph tracer,并使用 root 权限,可以跟踪内核函数(使用 -k 参数) 来自 <>