本文共 1345 字,大约阅读时间需要 4 分钟。
$ git show e93ae8919ebde855a16d9f02f2fb1fe59f1b33a9commit e93ae8919ebde855a16d9f02f2fb1fe59f1b33a9Author: lisider <1368317399@qq.com>Date: Thu Jan 10 08:26:37 2019 -0800 添加 ftrace 到 configdiff --git a/arch/arm/configs/vexpress_defconfig b/arch/arm/configs/vexpress_defconfigindex ad4b1a7..8b6082b 100644--- a/arch/arm/configs/vexpress_defconfig+++ b/arch/arm/configs/vexpress_defconfig@@ -161,3 +161,7 @@ CONFIG_DEBUG_USER=y # CONFIG_CRYPTO_HW is not set CONFIG_NODE_PLATFORM=y CONFIG_NODE_I2C=y+CONFIG_FTRACE=y // 打开了 ftrace ,是其他配置的基础+CONFIG_FUNCTION_TRACER=y // 打开了 ftrace 中的 function跟踪器+CONFIG_FUNCTION_GRAPH_TRACER=y // 打开了 ftrace 中的 function_graph跟踪器+CONFIG_DYNAMIC_FTRACE=y // 打开了 动态ftrace 功能,可以设置需要跟踪的函数,不要跟踪的函数
function 跟踪器
function 跟踪器和 events 跟踪的设置 是比较复杂的包括 events 和 其他所有跟踪器都用 tracing_on 来开关。echo function > current_tracerecho 8899 > set_ftrace_pid // 设置跟踪的pid // 这是 CONFIG_FUNCTION_TRACER 支持的 echo func_object > set_ftrace_filter // 设置跟踪的函数 // 这是 CONFIG_DYNAMIC_FTRACE 支持的echo 1 > tracing_on。。。 等一会echo 0 > tracing_oncat trace
events 不属于跟踪器,不用设置 current_tracer ,其他 包括function 的 跟踪器都需要设置current_tracer echo xxx > set_eventecho 1 > tracing_oncat trace
其他的跟踪器的设置都很简单(只需要设置 current_tracer为当前跟踪器,然后 echo 1 > tracing_on,过一段时间操作之后,echo 0 > tracing_on ,cat trace)
转载地址:http://yrngi.baihongyu.com/