systemtap引用自定義標頭檔案的手藝精簡版

2021-10-23 20:15:36 字數 1392 閱讀 7713

不夠精簡是不是?

那是因為我的水平還不夠6,其實stap是可以直接呼叫system來執行外部命令的,如此就不需要再進入guru模式來stap自己了。

指令碼如下:

#!

/usr/local/bin/stap

// selftap

probe process

("/usr/local/bin/stap").

function

("make_any_make_cmd"

)

夠簡單吧。來來來,看效果:

[root@localhost test]

# cat aa.stp

#!/usr/local/bin/stap -g

%function func(who:long)

%probe begin

[root@localhost test]

# /usr/local/bin/stap -g ./aa.stp 191

/tmp/stapktguzf/stap_7a62a2c6930488205b2f13dbba9d80c5_1310_src.c:29:20: 致命錯誤:common.h:沒有那個檔案或目錄

#include "common.h"

^編譯中斷。

make[1]: *** [/tmp/stapktguzf/stap_7a62a2c6930488205b2f13dbba9d80c5_1310_src.o] 錯誤 1

make: *** [_module_/tmp/stapktguzf] 錯誤 2

warning: kbuild exited with status: 2

pass 4: compilation failed. [man error::pass4]

[root@localhost test]

# ./selftap -c '/usr/local/bin/stap -g ./aa.stp 191'

100 191

[root@localhost test]

#

附說一句,其實,我在指令碼裡的cmd有點硬編碼了,正確的做法應該是:

file =

sprintf

("%s/makefile"

,user_string

($dir->_m_local_buf));

cmd =

sprintf

("./mycmd %s"

, file)

;

我只需要將makefile的全路徑傳進去,我就可以往makefile裡寫更多的東西了,比如再加乙個obj-m += ***.o

嗯,這樣更好。

浙江溫州皮鞋溼,下雨進水不會胖。

UITableView自定義區頭

自定義區頭,高度自定義又要隨動,就要實現自定義區頭 的同時,實現自定義區尾,只要設定為零就控制區頭的高度 inte ce anniversaydayviewcontroller property nonatomic,strong uitableview tableview property nona...

自定義SOAP訊息頭

對於webservice呼叫,為了驗證呼叫者的身份,可以自定義乙個soapheader,讓呼叫者將身份資訊放在裡面,然後在服務端檢查,具體方法如下 1 先定義乙個soapheader,用它來傳遞身份資訊 using system using system.web.services.protocols...

FastCGI處理自定義HTTP頭

fcgx中,自定義頭可以獲取環境變數獲得。但是名字前面要加入http 字母全部大寫,例如 自定義頭username,在fastcgi的fcgx中,變為 http username。可以用fcgx getparam獲取單個環境變數。頭資訊在fcgx request envp中,可以全部列印出來 cha...