APKMirror:安卓应用安全分发的三大核心价值与技术实践
2026/4/27 17:30:11
目前所见的工具多采用统计采样,但我们往往希望深入了解事件的顺序及其相互关系。函数跟踪通过在代码中设置跟踪点来捕获事件信息,可能涵盖以下部分或全部内容:
- 时间戳
- 上下文(如当前 PID)
- 函数参数和返回值
- 调用栈
函数跟踪比统计分析更具侵入性,会产生大量数据。不过,在采样和查看跟踪信息时应用过滤器,可缓解这一问题。本文将介绍两种跟踪工具:内核函数跟踪器 Ftrace 和 LTTng。
Ftrace 是一款内核函数跟踪器,源于 Steven Rostedt 等人对实时应用中高调度延迟原因的追踪工作。它在 Linux 2.6.27 版本中首次出现,此后不断发展。内核源码的 Documentation/trace 目录中有许多关于内核跟踪的文档。
Ftrace 包含多个跟踪器,可记录内核中各种类型的活动。这里主要介绍函数跟踪器、函数图跟踪器和事件跟踪点。
Ftrace 具有非常适合嵌入式系统的用户界面,完全通过 debugfs