博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ftrace跟踪内核
阅读量:2344 次
发布时间:2019-05-10

本文共 1561 字,大约阅读时间需要 5 分钟。

获取内核模块进程号

printk(“info (pid=%d comm=%d)\n”, current->pid,current->comm);

开启ftrace跟踪特定函数 这里是 __alloc_pages_nodemask

#!/bin/shdir=/sys/kernel/debug/tracingsysctl kernel.ftrace_enabled=1echo nop > ${dir}/current_tracerecho function_graph > ${dir}/current_tracerecho __alloc_pages_nodemask > ${dir}/set_graph_functionecho 10 >  ${dir}/max_graph_depthecho 1 > ${dir}/tracing_onsleep 1#echo read -p '按任意键exit' nameecho "finished"echo 0 > ${dir}/tracing_oncat ${dir}/trace > showtrace.txt#echo nop > current_tracer;//清空tracer#echo function_graph > current_tracer;//使用图形显示调用关系#echo ip_rcv > set_graph_function;//设置过滤函数,可以设置多个#echo 1 > tracing_enabled开始追踪

根据进程号过滤跟踪日志

------------------------------------------   0)  insmod-14593  =>  dmesg-14595   ------------------------------------------   0)               |  __alloc_pages_nodemask() {   0)               |    _cond_resched() {   0)   0.227 us    |      rcu_all_qs();   0)   0.634 us    |    }   0)               |    get_page_from_freelist() {   0)   0.157 us    |      __inc_numa_state();   0)   0.154 us    |      __inc_numa_state();   0)   1.800 us    |    }   0)   3.898 us    |  }   0)               |  __alloc_pages_nodemask() {   0)               |    _cond_resched() {   0)   0.153 us    |      rcu_all_qs();   0)   0.509 us    |    }   0)               |    get_page_from_freelist() {   0)   0.156 us    |      __inc_numa_state();   0)   0.154 us    |      __inc_numa_state();   0)   1.048 us    |    }   0)   2.092 us    |  }

小遗憾是不可能跟踪所有函数,但是很多函数可以跟踪到,有个函数列表,可以查看是否能跟踪命令如下:

cat available_filter_functions

转载地址:http://ynjvb.baihongyu.com/

你可能感兴趣的文章
Python基础教程:python的数据类型
查看>>
Python学习教程:另辟蹊径,appium抓取app应用数据了解一下
查看>>
周董新歌《说好不哭》上线,20W评论,歌迷都说了些啥
查看>>
Python学习教程:用Python进行金融市场文本数据的情感计算
查看>>
Python爬虫:python获取各种街拍美图
查看>>
爬虫工程师是干什么的?你真的知道吗?
查看>>
写给那些想学Python的人,建议收藏后细看
查看>>
数据全裸时代,你的隐私有多容易获取?
查看>>
分析http代理报错问题
查看>>
Python编程学习笔记 - 列表的各种姿势
查看>>
Python学习教程:Python入门笔记整理
查看>>
天了噜,居然用Python查到了女神的姓名
查看>>
常用排序算法总结
查看>>
Java输入输出
查看>>
MSSQL数据库常见问题
查看>>
Java8 Lambda
查看>>
JAVA面试700问
查看>>
数据库DDL,DML,DCL,TCL
查看>>
各大数据库概述,比较
查看>>
子页面跳转
查看>>