`
xieyj
  • 浏览: 102721 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

systemtap学习笔记

 
阅读更多

       在学习systemtap过程中使用show_trace,这个函数在/proc/kallsyms中存在,表示这是个有效的函数,用systemtap执行时候报错unkown symbol in module,用dmesg看错误比较明显Unkown symbol show_stack,显然说明这个函数没有导出,导出的符号表存在那里呢,看一下内核源码中的modules.txt,导出的符号表文件为Module.symvers 。具体路径在/lib/moudules/`uname -r`/Module.symvers),

       那systemtap到那里查找内核的调试符号呢?在http://sourceware.org/systemtap/man/stappaths.7.html上面有说明,一般在/usr/lib/debug/lib/modules/$(uname -r)/,SYSTEMTAP_DEBUGINFO_PATH 这个环境变量可以改写上面的地址。

        默认,systemtap查找vmlinux调试信息的路径为

        /boot/vmlinux-`uname -r` 

        /lib/modules/`uname -r`/vmlinux

        /lib/modules/`uname -r`/vmlinux.debug

        /lib/modules/`uname -r`/build/vmlinux

        /lib/modules/`uname -r`/.debug/vmlinux.debug

        /usr/lib/debug/lib/modules/`uname -r`/vmlinux.debug

        /var/cache/abrt-di/usr/debug/lib/modules/`uname -r`/

        /var/cache/abrt-di/usr/lib/debug/lib/modules/`uname -r`/vmlinux.debug

 

        stap -l 'kernel.function("*")' 列出的是调试信息中的所有函数,包括上面的show_stack。表明show_stack可以设置跟踪点,但因为没有导出,不可以在模块中调用。

        用strace跟踪程序的执行过程,很多时候也可以知道具体的原因。

分享到:
评论

相关推荐

    systemtap beginner

    SystemTap的使用可以分为几个步骤,首先是学习如何安装和设置SystemTap环境,然后是学会创建SystemTap脚本以及如何运行这些脚本来收集系统数据。SystemTap提供了飞行记录器模式(Flight Recorder Mode),它可以记录...

    SystemTap_Beginners_Guide.pdf

    SystemTap是一个由Red Hat公司开发的开源工具,主要用于Linux系统。它允许用户通过内核预留的探针位置来跟踪内核事件,对内核系统调用和性能数据进行统计分析。通过SystemTap,开发者和系统管理员能够理解系统内部的...

    systemTap英文文档集合.7z

    这个压缩包文件“systemTap英文文档集合.7z”包含了多份关于systemTap的重要参考资料,对于学习和掌握systemTap的使用非常有帮助。 1. **SystemTap Instrumenting the Linux Kernel for Analyzing Performance and ...

    awesome-systemtap-cn:采集网络上优秀的systemtap学习资源

    目录教程类:我自己学习过程中的一个学习笔记,通过例子展示用法。:阿里技术专家的教程,也是很不错的。:Brendan在2011年写的介绍博客。:官方教程。:官方的新手入门指南。:《使用DTrace和Systemtap进行动态跟踪...

    systemtap脚本编写基础很详细

    SystemTap是一种用于Linux内核调试和性能分析的工具,它允许用户编写脚本来检查运行中的内核。SystemTap脚本使用一种专门的脚本语言,提供了丰富的功能用于内核数据的采集和分析。本文档详细介绍了SystemTap脚本编写...

    使用systemtap进行调试介绍

    systemtap是什么?如何通过systemtap对应用程序内核程序进行调试?如何编写运行systemtap脚本?

    systemtap tutorial

    SystemTap是一款强大的性能分析和调试工具,它允许开发者和系统管理员通过编写简单的脚本来深入检查活动的Linux系统。SystemTap的工作原理是通过命名事件并在事件发生时给予它们处理器(handlers)。一旦定义的事件...

    Ubuntu+Systemtap进行Linux内核和用户空间开发测试

    SystemTap的基本测试包括“HelloWorld”样例,这是学习和验证SystemTap安装是否成功的一个简单方法。通过运行SystemTap脚本,可以看到其如何输出简单的测试信息,从而确认SystemTap环境已正确配置。 内核函数测试是...

    Linux内核调试新秀SystemTap.pdf

    Linux内核调试新秀SystemTap.pdf

    systemtap-testsuite

    systemtap script examples , cross compile from x86 to arm.

    systemtap_tutorial

    systemtap_tutorial

    centos7.4.1708 的systemtap的rpm包及其依赖

    SystemTap是Linux操作系统中的一款强大的动态诊断工具,它允许用户以脚本语言的方式对系统进行监控和调试。在CentOS 7.4.1708这个特定的环境中,SystemTap通过RPM(Red Hat Package Manager)包的形式提供,使得用户...

    systemtap cross compoile for android

    systemtap交叉编译,运行于android平台。OMAP项目的实例,很有借鉴价值。

Global site tag (gtag.js) - Google Analytics