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 斷言 的除錯顏色為黑色的,任何訊息都會輸出,這裡的...