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表示安装成功

  • 相关阅读:
    iOS drewRect方法
    iOS中的单例
    iOS中类别的使用
    iOS存储的三种方式
    安卓上微信闪退的一种解决方法
    [Z] 通天塔导游:各种编程语言的优缺点
    怎样面对痛苦?
    [Z] 10 种必知必会的软件开发工具
    [Z] Linux 内核同步机制
    [Z] 囚禁你的精灵(daemon)进程
  • 原文地址:https://www.cnblogs.com/Bozh/p/3217034.html
Copyright © 2011-2022 走看看