ftrace_caller 和ftrace_regs_caller
时间: 2023-07-22 21:11:37 浏览: 137
ftrace_caller和ftrace_regs_caller都是Linux内核中的函数,用于获取当前函数调用栈的信息。它们的区别在于返回的信息不同。
ftrace_caller返回当前函数调用栈的返回地址,也就是调用当前函数的函数的地址;而ftrace_regs_caller返回当前函数调用栈的寄存器状态,包括返回地址和调用当前函数时的寄存器值。因此,如果需要分析函数调用栈以及调用当前函数时的寄存器状态,可以使用ftrace_regs_caller函数。
相关问题
SYM_INNER_LABEL(ftrace_caller_direct_late, SYM_L_LOCAL)
这段代码看起来是基于Linux内核源码中的宏定义。它定义了一个名为"ftrace_caller_direct_late"的内部符号(inner symbol),并将其标记为本地符号(local symbol)。
在Linux内核源码中,SYM_INNER_LABEL是一个宏,用于定义内部符号。内部符号是指只在当前源文件中可见的符号,对其他源文件不可见。而SYM_L_LOCAL则是一个枚举常量,表示将符号标记为本地符号,即只在当前链接单元中可见的符号。
因此,这段代码定义了一个只在当前源文件中可见的名为"ftrace_caller_direct_late"的符号,该符号的具体实现可以由其他代码块进行定义。
data_sources: { config { name: "linux.ftrace" ftrace_config { ftrace_events: "sched/sched_switch" ftrace_events: "power/suspend_resume" ftrace_events: "sched/sched_process_exit" ftrace_events: "sched/sched_process_free" ftrace_events: "task/task_newtask" ftrace_events: "task/task_rename" ftrace_events: "ftrace/print" atrace_categories: "gfx" atrace_categories: "input" atrace_categories: "view" atrace_categories: "wm" atrace_categories: "am" atrace_categories: "audio" atrace_categories: "video" atrace_categories: "res" atrace_categories: "dalvik" atrace_categories: "rs" atrace_categories: "bionic" atrace_categories: "power" atrace_categories: "pm" atrace_categories: "ss" atrace_categories: "network" atrace_categories: "aidl" atrace_categories: "rro" atrace_categories: "binder_driver" atrace_categories: "binder_lock" atrace_apps: "com.android.systemui" atrace_apps: "com.android.server" atrace_apps: "*" } } } duration_ms: 30000
这是一个Perfetto的配置文件示例,用于指定系统跟踪的数据源和缓冲区设置。具体解释如下:
- data_sources: {}:定义了一个数据源。
- config {}: 定义了数据源的配置信息。
- name: "linux.ftrace":指定数据源的名称为linux.ftrace。
- ftrace_config {}:指定数据源为Ftrace数据源,并指定其配置信息。
- ftrace_events: "...":指定要跟踪的Ftrace事件名称。
- atrace_categories: "...":指定要跟踪的ATrace事件类别。
- atrace_apps: "...":指定要跟踪的ATrace事件应用程序。
- duration_ms: 30000:指定跟踪的时间长度为30秒。
该配置文件的作用是定义了一个数据源,并指定了数据源的名称、Ftrace事件名称、ATrace事件类别和应用程序,以及跟踪的时间长度。执行该配置文件可以启动Perfetto进行系统跟踪,并收集指定的Ftrace和ATrace事件数据。
阅读全文