linux内核 探针,linux-kernel – ftrace是否允许捕获Linux内核的系统调用参数,或仅捕获函数名?...

我对ftrace的经验有限,尽管我已经将它用于函数堆栈跟踪和延迟问题. (具有更多经验的人可能会建议)使用trace-cmd和kernelshark的体验非常相似.

但是,如果要在内核空间中跟踪系统调用,函数参数,内核API和返回值等,则更好的选择是使用systemtap.它有一个广泛的Samples & Doc列表,它适用于函数调用跟踪,参数值传递等.您可能需要查看一些示例并根据您的要求进行调整.请参阅general / para-callgraph-verbose.stp和process / sleeptime.stp

general / para-callgraph-verbose.stp – 带有详细参数的Callgraph跟踪

关键字:TRACE CALLGRAPH

打印一个定时的每线程微秒定时调用图,包括漂亮打印的函数参数和返回值.第一个参数命名函数探针指向跟踪.可选的第二个参数为触发器函数命名探测点,这些触发器函数仅用于跟踪当前线程嵌套在触发器中时发生的那些函数.

stap para-callgraph-verbose.stp 'kernel.function("*@fs/proc*.c")' \

'kernel.function("vfs_read")' -c "cat /proc/sys/vm/* || true"

process / strace.stp – 跟踪系统调用

关键字:_BEST PROCESS SYSCALL

当应用于单个进程或层次结构(通过-c / -x)或整个系统(不带-c / -x)时,脚本会松散地模拟strace.可以使用-G设置一些输出配置参数.

stap strace.stp -c "sleep 1"

请注意,您需要安装正确版本的调试内核和kernel-devel rpms / deb才能使stap正常工作.为此,只需使用stap-prep并根据您所使用的风格安装显示的依赖项.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值