我正在学习系统tap实用程序来调试Linux内核。
下面是示例代码:
probe module("e1000").function("e1000_get*") {
printf("%s\n", ppfunc())
}
probe module("e1000").function("e1000_get*").return {
printf("%s \n", ppfunc())
}两者有什么区别?
probe module("e1000").function("e1000_get*")与探针module("e1000").function("e1000_get*").call
我知道调用是函数输入,是上面的入口和出口。
发布于 2018-12-21 07:48:22
来自系统抽头 文档
.function变体在命名函数的开头放置一个探针,因此参数可以作为上下文变量使用。.return变体在命名函数返回时放置一个探测,因此返回值可以作为$return上下文变量使用。入口参数也是可用的,尽管函数可能已经更改了它们的值。
..。
用于
.inline的.function修饰符将结果筛选为只包含内联函数的实例。.call修饰符选择相反的子集。
因此,.call修饰符只能从结果中获得“调用”(如此)。
https://stackoverflow.com/questions/53878824
复制相似问题