uftrace - C/C++ 程序的跟踪和分析工具


GPLv2
Linux
C/C++

软件简介

uftrace 用于跟踪和分析 C/C++ 编写的程序的执行情况,它受到 Linux 内核的 ftrace 框架的启发(特别是 function graph
tracer),支持 userspace 程序。

uftrace 还支持各种类型的命令和过滤器,以帮助分析程序执行和性能。

功能特性

  • 跟踪可执行文件中的每个函数并显示持续时间,还可以跟踪外部库调用 —— 但只支持入口和出口,并且不能跟踪库调用中的内部函数调用,除非库本身已启用分析构建。

  • 可以在函数层面显示详细的执行流程,并报告哪个函数的开销最高,它还显示与执行环境有关的各种信息。

  • 在追踪时,可以设置过滤器以排除或包含特定的函数。另外,它可以保存和显示函数参数并返回值。

  • 它支持多进程/多线程应用程序, 如果系统启用内核中的 function graph tracer,并使用 root 权限,可以跟踪内核函数(使用 -k 参数)