zoukankan      html  css  js  c++  java
  • [systemtap手记]debian体系安装过程

    Debian体系,本人测试用机 Ubuntu 11.10

    uname -r 查看原本的内核版本为 3.0.0-12-generic

    第一步:

    安装systemtap包

    $ sudo apt-get install systemtap
    $ sudo apt-get install systemtap-sdt-dev
    

    测试

    stap -e 'probe kernel.function("sys_open") {log("hello world") exit()}'

    不能正确输出hello world

    semantic error: libdwfl failure (missing x86_64 kernel/module debuginfo under
    '/lib/modules/3.0.0-12-generic/build'): No such file or directory while resolving probe point
    kernel.function("sys_open")
    semantic error: no probes found
    Pass 2: analysis failed.  Try again with another '--vp 01' option.
    

    报告错误大致意思为找不到内核debuginfo 信息

    解决办法:

    1.安装带debuginfo的内核

    #安装编译内核所需要的对应的依赖关系包
    $ sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
    #下载内核镜像
    $ apt-get source linux-image-$(uname -r)
    $ cd linux-3.0.0
    $ debian/rules clean
    #开始编译内核,skipdbg为false编译不跳过带debuginfo的选项
    $ AUTOBUILD=1 fakeroot debian/rules binary-generic skipdbg=false
    #安装3.0.0-32版本的内核
    $ sudo dpkg -i ../linux-image-3.0.0-32-generic-dbgsym_3.0.0-32.51_i386.ddeb
    

    笔者最初的内核版本为3.0.0-12-generic,编译带debuginfo的内核安装后对应升级到 3.0.0-32-generic

    2.安装linux-headers

    sudo apt-get install linux-headers-`uname -r`
    

    3.重启机器

    stap -e 'probe kernel.function("sys_open") {log("hello world") exit()}'
    

     正确输出hello world表示安装成功

  • 相关阅读:
    django 模板继承
    redis集群环境配置
    压力测试工具:apache bench(ab)
    php yield关键字以及协程的实现
    php图片木马实现原理
    关于接口幂等性
    关于easyswoole实现websocket聊天室的步骤解析
    php混淆加密解密实战
    关于mysql集群主从服务器搭建
    mysql binlog恢复数据实战
  • 原文地址:https://www.cnblogs.com/Bozh/p/3217034.html
Copyright © 2011-2022 走看看