systemtap打印函数调用和参数取值

 

打印某文件内所有参数和入参

#!/usr/bin/stap

probe process("/usr/bin/jmy_app").function("*@my_app.c").call {
        printf("Function %s called with parameters : %s\n", ppfunc(), $$parms)
}

 

打印特定函数的参数和入参

#!/usr/bin/stap

probe process("/usr/bin/my_app").function("*my_app_func*").call {
        printf("Function %s called with parameters arg1: %d, arg2: %d\n", ppfunc(), $arg1, $arg2)
        printf("Function %s called with parameters : %s\n", ppfunc(), $$parms)
}

 

打印特定函数的调用栈

复制代码
#! /usr/bin/env stap

probe process("/usr/bin/my_app").function("my_heap_free").call
{
        if (tid() != 115696 && tid() != 115883) {
                printf("%s\n", ppfunc())
                print_ubacktrace()
        }
}
复制代码

 

 

https://sourceware.org/systemtap/examples/

posted on   toong  阅读(190)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2017-06-07 [administrative][lvm] lvm 分区修改与磁盘扩充
2017-06-07 [administrative] windows 下制作USB启动盘的工具

统计

点击右上角即可分享
微信分享提示