systemtap手記 debian體系安裝過程

2022-02-09 01:40:32 字數 1431 閱讀 2294

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") '

不能正確輸出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") '

正確輸出hello world表示安裝成功

Android和WebOS上使用debian

android和webos都是基於linux開發的移動作業系統,說基於linux的話linus聽了肯定皺眉頭,因為其實核心就是linux,改動基本都限於驅動和外圍gnu工具的選擇。所以在上述兩個平台上利用chroot建立常見linux發行版的環境就顯得順理成章。andorid 電子市場 google...

systemtap除錯核心

systemtap是核心開發者必須要掌握的乙個工具,本文我將簡單介紹一下此工具,後續將會有系列文章介紹systemtap的用法。假如現在有這麼乙個需求 需要獲取正在執行的 linux 系統的資訊,如我想知道系統什麼時候發生系統呼叫,發生的是什麼系統呼叫等這些資訊,有什麼解決方案呢?下面將會介紹sys...

systemtap 安裝試用

1.安裝 yum install y systemtap systemtap runtime 2.環境準備 a.自動安裝依賴 stap prep b.手動安裝依賴 kernel debuginfo kernel debuginfo common kernel devel 簡單的方式使用yum ins...