Linux下调试与性能分析工具的总结

  • 时间:
  • 浏览:5

stack

ftrace的核心代码指在kernel/trace目录下,ftrace.c注册了debugfs下的trace目录,

trace_kprobe.c和trace_uprobe.c提供了kprobe和uprobe的接口。除了kprobe和uprobe,

ftrace还提供了events支持,主要指在/kernel/sys/debug/trace/events, 主要包括

硬件事件,内核软件事件,以及静态tracepoints的事件。都还可否 通过下面命令查看支持的事件:

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/feilengcui008/article/details/514006894

ftrace框架主要以debugfs中/sys/kernel/debug/trace文件系统的形式提供了静态和动态

追踪的接口,ftrace框架有命令行和图像化的前端工具trace-cmd 和 kernelshark。否则

提供了不同种类的tracer, 都还可否 使用下面命令查看:

perf_events和对应的前端工具perf提供了硬件和软件层面的计数等性能分析。其源码指在

内核源码树tools/perf目录下。

cat /sys/kernel/debug/trace/available_events

(此文主要用来记录某些调试,性能测试与分析等工具的用法,备忘)

cat /sys/kernel/debug/trace/available_tracers

data

其最基本的用法大伙都还可否 写内核模块注入某个探测点的探针,做某些追踪与统计分析,

但通常会有更方便的框架以及其前端工具,比如下面将提到的ftrace与trace-cmd,

perf_events与perf, systemtap, 还有基于哪此前端工具的工具perf-tools…

(例子来源于内核源码Documentation/trace)