《驅動除錯 除錯資訊列印到proc虛擬檔案》

2022-09-16 03:24:11 字數 780 閱讀 5513

printk()會將列印資訊存在核心的環形緩衝區log_buf裡, 可以通過dmesg命令來檢視log_buf

1.環形緩衝區log_buf又是存在核心的哪個檔案呢?

位於/proc/kmsg裡,所以除了dmesg命令檢視,也可以使用cat /proc/kmsg來檢視。

2.但是,dmesg命令和cat /proc/kmsg有所不同

2.1 dmesg命令

每次使用,都會列印出環形緩衝區的所有資訊。

2.2 cat /proc/kmsg

只會列印出每次新的環形緩衝區的資訊。

比如,第一次使用cat /proc/kmsg,會列印出核心啟動的所有資訊。

第二次使用cat /proc/kmsg,就不會出現之前列印的資訊,只列印繼上次使用cat /proc/kmsg之後的新的資訊,比如下圖所示:

3.接下來我們便進入核心,找/proc/kmsg檔案在哪生成的

搜尋"kmsg",找到位於fs\proc\proc_misc.c 檔案的proc_misc_init()函式中,

vc 除錯資訊輸出 列印除錯資訊

1.cdumpcontext 該類沒有基類。這個類支援面向流的診斷輸出,以人能夠閱讀的文字。該類過載了 操作符。afxdump是乙個預宣告的cdumpcontext物件,可以方便使用。該物件只在mfc的debug版中有效。可以將調式資訊輸出到除錯輸出視窗或除錯終端。example for afxdu...

列印到proc虛擬檔案

通過dmsge或cat proc kmsg可檢視列印資訊 cat proc kmsg 6 booting linux on physical cpu 0x0 6 initializing cgroup subsys cpu 5 linux version 3.18.20 osrc osrc gcc ...

Logcat列印除錯資訊

android logcat除錯中的v d i w e的分別代表什麼?log.v 黑色 verbose info log.d 藍色 debug info log.i 綠色 info log.w 橙色 warn log.e 紅色 error info 斷言 的除錯顏色為黑色的,任何訊息都會輸出,這裡的...