gpt4 book ai didi

linux - 如何在 Linux 中使用 ftrace 从特定函数开始获取完整的调用图?

转载 作者:IT王子 更新时间:2023-10-29 00:58:12 26 4
gpt4 key购买 nike

我想使用 ftrace 跟踪特定函数,但要跟踪来自该函数的所有进一步调用。

我已经成功地在我想要的函数上启动了带过滤器的 ftrace,但现在它只显示了这个被调用的特定函数。

所以我的问题是:如何打印从特定函数调用的所有函数、这些函数调用的函数等等?

最佳答案

您还可以设置 max_graph_depth 并获得函数图的更多深度。

以下步骤将有助于生成所选 linux 函数的函数图。

1. cd /sys/kernel/debug/tracing
2. cat /dev/null > trace
3. echo generic_make_request > set_graph_function
4. echo 10 > max_graph_depth
5. echo function_graph > current_tracer
6. echo 1 > tracing_on
7. dd if=/dev/sddk of=~/test bs=512 count=5
8. cp trace ~/dd_trace_depth10
9. echo 0 > tracing_on
10. echo > set_graph_function
11. echo 0 > max_graph_depth
12. cat /dev/null > trace

启用跟踪:在这个例子中,我选择了过滤器函数作为“generic_make_request”。因此,第 3 步将图形函数设置为“generic_make_request”linux 函数。然后我们在步骤 4 中将图形深度设置为 10。步骤 5 将当前跟踪器设置为“function_graph”。设置完所有这些后,我们启用跟踪。

行动:现在我们执行我们想要 linux 跟踪的操作。在此示例中,我们使用 dd 命令执行 I/O。此命令将命中 generic_make_request 函数,文件/sys/kernel/debug/tracing/trace 将填充函数图。

禁用跟踪:第 9、10、11 步将禁用跟踪

引用:http://sklinuxblog.blogspot.com/2014/12/generating-function-graph-in-linux.html

关于linux - 如何在 Linux 中使用 ftrace 从特定函数开始获取完整的调用图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14956516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com