亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2215 | 回復(fù): 0
打印 上一主題 下一主題

linux內(nèi)核printk調(diào)試 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-11-28 14:12 |只看該作者 |倒序瀏覽

通過printk打你希望追蹤的消息。從它的名字可以看出,這個東西有點類似與gnu
c中的printf。不過用于內(nèi)核的東西總該有些特色,printk添加了一些日志級別(loglevel),具體日志級別定義的宏在。
(printk的格式:printk(KERN_ALERT"The process is \"%s\"(pid
%i)\n",current->comm,current->pid)) 。
這些宏定義的注釋已經(jīng)很詳細(xì)了。
#define KERN_EMERG "" /* system is
unusable   */
#define KERN_ALERT "" /* action must be taken
immediately */
#define KERN_CRIT "" /* critical
conditions   */
#define KERN_ERR "" /* error
conditions   */
#define KERN_WARNING "" /* warning
conditions   */
#define KERN_NOTICE "" /* normal but significant
condition */
#define KERN_INFO "" /*
informational   */
#define KERN_DEBUG "" /* debug-level
messages   */

用printk,內(nèi)核會根據(jù)日志級別,可能把消息打印到當(dāng)前控制臺上,這個控制臺通常是一個字符模式的終端、一個串口打印機或是一個并口打印機。這些消息正常輸出的前提是──日志輸出級別小于console_loglevel(在內(nèi)核中數(shù)字越小優(yōu)先級越高)。但如果系統(tǒng)運行了klogd和
syslogd日志守護進(jìn)程,那么printk的信息將同時被追加到/var/log/messages中,當(dāng)然你也可以通過dmesg來查看系統(tǒng)的輸出信息(這些信息在/proc/kmsg,但它并沒有把消息映射到用戶空間,所以普通用戶無法直接訪問,而dmesg是用來訪問它的一個工具,內(nèi)核為了節(jié)省資源,把kmsg設(shè)計為一個循環(huán)緩存區(qū),在內(nèi)核中這種設(shè)計很常見)。
在內(nèi)核運行的情況下,我們可以通過proc文件系統(tǒng)來修改內(nèi)核運行的一些參數(shù)。proc其實它是一個內(nèi)存文件系統(tǒng),它展示了linux vfs(virtural
file
system)文件系統(tǒng)的威力。該文件系統(tǒng)由軟件創(chuàng)建,內(nèi)核使用它向外界導(dǎo)出信息,由于對proc的使用有些混亂,導(dǎo)致sys文件系統(tǒng)的出現(xiàn)。貌似跑題了!因proc文件系統(tǒng)是內(nèi)核拋出的信息,因此你可以通過修改/proc/sys/kernel/printk中的值來修改日志的輸出級別。該文件中包含了4個值,分別表示為:當(dāng)前的日志級別,未明確指定日志級別時的默認(rèn)消息級別,最小允許的日志級別和引導(dǎo)時的默認(rèn)日志級別。
為了更好的管理日志,你可通過修改/etc/syslog.conf來滿足你的需求。man
syslog.conf獲得更多關(guān)于syslog.conf的信息。當(dāng)你在編寫內(nèi)核模塊時,應(yīng)該注意一個問題,你不能讓那些消息困擾你,因此定義一些宏來開關(guān)printk消息是很有必要的,畢竟printk是用來調(diào)試,或者顯示設(shè)備、模塊的一些狀態(tài)。另外內(nèi)核同時也提供了一些接口,在中定義,他們是一些內(nèi)聯(lián)函數(shù)。int
printk_ratelimit(void)。在打印一條可能被重復(fù)的信息之前,應(yīng)調(diào)用該函數(shù)。如果它返回一個非零值,則可以繼續(xù)打印消息,否則跳過。
printk_ratelimit通過跟蹤發(fā)送到控制臺的消息量,開避免消息的重復(fù)輸出?梢酝ㄟ^修改/proc/sys/kernel
/printk_ratelimit來設(shè)置重新打開消息應(yīng)該等待的秒數(shù)。
               
               
               

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u1/51980/showart_1670820.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP