systemtap embedded C 踩坑筆記

2021-09-29 16:25:29 字數 1277 閱讀 4375

官方文件:

systemtap的embedded c中,不能#include ,也不能用printf和print。那怎麼列印呢?用stap_printf。用法與printf一樣。

還可以訪問cript中的全域性變數。

官方文件中的示例:

global var

global var2[

100]

function increment()

%

注意function中頭兩行的注釋不能刪。具體意義看文件。

獲取乙個task_struct的sibling的函式這樣寫:

function getsibling

(task:

long)%

報錯:

include/linux/kernel.h:908:41: 錯誤:expected 『;』 before 『(』 token

#define container_of(ptr, type, member) (

可以用d_path把struct path解析為絕對路徑。centos 7中d_path的宣告如下:

// include/linux/dcache.h

extern

char

*d_path

(const

struct path *

,char*,

int)

;

其中char*是buffer的首位址,int是buffer的大小。

注意,d_path的返回值並不是傳進去的buffer。直接輸出buffer會輸出空串。。。

正確用法示例:

static

char full_path[buffer_size]

;stap_printf

("%s\n"

,d_path(&

(f->f_path)

, full_path, buffer_size)

);

錯誤用法示例:

static

char full_path[buffer_size]

;d_path(&

(f->f_path)

, full_path, buffer_size)

;stap_printf

("%s\n"

, full_path)

;

CSS position sticky 踩坑筆記

在二次開發主題的過程中,發現了很多問題。其中技術點不高,但讓人瞬gan 的就是這一條css屬性。position sticky是css定位新增屬性 可以說是相對定位relative和固定定位fixed的結合 它主要用在對scroll事件的監聽上 簡單來說,在滑動過程中,某個元素距離其父元素的距離達到...

Aggregation MongoDB踩坑記錄

對某些篩選條件進行分頁查詢,開始每一頁的有效data都不足pagesize,最後發現,aggregation 的pipeline是有先後順序的。錯誤 agg aggregation.newaggregation aggregation.skip curpage 1 pagesize aggregat...

feign踩坑 通過Feign上傳檔案(踩坑)

引入依賴 org.springframework.cloud spring cloud starter openfeign 服務提供者 restcontroller public inte ce fileuploadservice commonresultuploadfile requestpart...