linux裝置除錯資訊輸出

2021-05-25 05:59:42 字數 1990 閱讀 9264

linux裝置驅動除錯,我們在核心中看到核心使用dev_dbg來控制輸出資訊,這個函式的實質是呼叫printk(kern_debug )來輸出列印資訊。要開啟這個開關需要下面兩步。

1、開啟除錯開關:你除錯的檔案中必然包含了,或者《linux/paltforam_device.h》,後者包含了前者,在包含此標頭檔案之前,使用#define debug 1 來開啟除錯開關:例如

#include

#include

#include

#include

#define debug    1

#include

在linux/device.h檔案中:

#define dev_printk(level, dev, format, arg...)    /

printk(level "%s %s: " format , dev_driver_string(dev) , (dev)->bus_id , ## arg)

#ifdef debug

#define dev_dbg(dev, format, arg...)        /

dev_printk(kern_debug , dev , format , ## arg)

#else

static inline int __attribute__ ((format (printf, 2, 3)))

dev_dbg(struct device * dev, const char * fmt, ...)

#endif

但是這個開啟了之後,也不能順利的輸出資訊,原因是printk有預設的資訊級別。

linux/kernel檔案中

#define    kern_emerg    "<0>"    /* system is unusable            */

#define    kern_alert    "<1>"    /* action must be taken immediately    */

#define    kern_crit    "<2>"    /* critical conditions            */

#define    kern_err    "<3>"    /* error conditions            */

#define    kern_warning    "<4>"    /* warning conditions            */

#define    kern_notice    "<5>"    /* normal but significant condition    */

#define    kern_info    "<6>"    /* informational            */

#define    kern_debug    "<7>"    /* debug-level messages            */

可以看到kern_debug是級別最低的。

2、修改檔案kernel/printk檔案

/* printk's without a loglevel use this.. */

#define default_message_loglevel 4 /* kern_warning */

/* we show everything that is more important than this.. */

#define minimum_console_loglevel 1 /* minimum loglevel we let people use */

#define default_console_loglevel 8 /* anything more serious than kern_debug */

其中default_console_loglevel為終端console輸出的最低級別,比這嚴重的都將輸出。原來該值為7,則除錯資訊無法輸出,修改為8則全部有輸出。

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

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

如何檢視Linux核心輸出的除錯資訊

第一點需要澄清 我使用的環境是嵌入式linux,並非桌面版linux,檢視核心輸出的除錯資訊也是為了追蹤核心子系統的執行。這可能是乙個非常小的知識點,但是還是希望自己記錄一些東西,以後也好拾起。1.如何開啟核心除錯dbg輸出 config dynamic debug y 在核心的配置選項中,我們可以...

Release下除錯資訊輸出

關於release下軟體除錯資訊輸出,主要原理,是待除錯資訊的應用程式,傳送訊息到除錯接器,然後除錯接收器再將除錯資訊接受下來,然後供使用者選擇輸出。達到分析除錯的目的。使用方法如下 1 在您的程式中定義後面的呼叫函式。2 在使用的地方呼叫這個方法。就可以在dbgview中看到除錯資訊了。dt wo...