SK BUFF 核心列印除錯

2021-10-08 21:15:15 字數 615 閱讀 3186

為了更方便的除錯報文,需要對sk_buff的真正資料載荷進行除錯輸出,只需要在驅動中加入如下**就可以除錯了

static void qdmalib_dump_skb(struct sk_buff *skb, struct net_device *dev)

netdev_printk(kern_info, dev, "tx loopback packets(data_len = %d): \n",skb->len);

for (i = 0; i < skb->len; i++)

if(0 == i % 2)

printk("%02x", *(skb->data + i));

if(7 == i % 8)

} printk("\n");

out:

return;

}

呼叫者

int qdmalib_tx(struct sk_buff *skb, struct net_device *dev)

輸出效果

讓adb logcat列印核心除錯資訊

在預設情況下,adb logcat只能顯示使用程式的除錯資訊,我把logcat.cpp修改了一下,讓它同時可以列印核心除錯資訊 system core logcat logcat.cpp static void readloglines int logfd while 1 else if ret n...

Linux核心的列印除錯printk

printk和printf在用法上的區別在於printk可以通過附加不同的日誌級別 loglevel 訊息優先順序 通過設定日誌的輸出級別來過濾列印在控制台上的訊息。linux核心中將日誌級別分成八個級別,分別為 kern emerg 用於緊急事件,一般是系統崩潰之前的提示訊息,核心拓展數字為 0 ...

linux核心資料結構sk buff偏移正解

在網上查了好多資料,每個人都說,skb data指向的就是以太頭部的開始,然後是ip頭,再然後是傳輸層頭,payload 每個人都還說,skb len skb data len就是 以太頭長 ip頭 傳輸層頭 payload 的長度 這些資料真的是害人不淺啊!其實skb data指向的是ip頭開始的...