很多內(nèi)核開發(fā)者喜歡的調(diào)試工具是printk,在Linux內(nèi)核中,使用printk()函數(shù)來打印信息,它與C庫(kù)的printf()函數(shù)類似。
printk()與printf()的一個(gè)重要區(qū)別是: printk()提供輸出等級(jí) 。內(nèi)核會(huì)根據(jù)這個(gè)等級(jí)來判斷是否在終端或者串口中輸出。
printk的輸出格式
在實(shí)際調(diào)試中,printk()可以和printf()一樣,直接輸出一條字符串。
不過為了更好的顯示一些調(diào)試信息,可以加上函數(shù)名字(__func__)和代碼行號(hào)(__LINE__),例如:
printk(KERN_EMERG"figo:%s, %d", __func__, __LINE__);
在雙引號(hào)""前加上輸出等級(jí)KERN_EMERG,代表輸出等級(jí)為0。
另外,在使用printk()的時(shí)候需要注意輸出格式,否則在編譯時(shí)會(huì)出現(xiàn)很多的警告。printk的輸出格式:
| 數(shù)據(jù)類型 | printk格式符 |
|---|---|
| int | %d或%x |
| unsigned int | %u或%x |
| long | %ld或%lx |
| long long | %lld或%llx |
| unsigned long long | %llu或%llx |
| size_t | %zu或%zx |
| size_t | %zd或%zx |
| 函數(shù)指針 | %pf |
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
內(nèi)核
+關(guān)注
關(guān)注
4文章
1468瀏覽量
42888 -
Linux
+關(guān)注
關(guān)注
88文章
11763瀏覽量
219091 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67545
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
FPGA調(diào)試工具-chipscope
FPGA調(diào)試工具chipscope,學(xué)習(xí)與使用FPGA必用的工具。。
發(fā)表于 03-23 09:45
?86次下載
MCU51的串口調(diào)試工具
MCU51的串口調(diào)試工具:本站會(huì)員 gxujjd 及sltian 推薦的Mcu51網(wǎng)站的免費(fèi)串口調(diào)試工具。此版本使用C++Builder編寫.
發(fā)表于 01-16 11:53
?126次下載
多媒體視頻輸出格式有哪些?
多媒體視頻輸出格式有哪些? 目前的多媒體視頻產(chǎn)品所支持的視頻輸出格式主要有:AVI、WMV、ASF、DivX、
發(fā)表于 12-26 14:58
?1280次閱讀
舵機(jī)調(diào)試工具
飛思卡爾智能車舵機(jī)調(diào)試工具,其他舵機(jī)調(diào)試可自行修改舵機(jī)參數(shù)處理
發(fā)表于 02-24 17:25
?8次下載
如何使用英特爾SDK for OpenCL調(diào)試工具調(diào)試OpenCL主機(jī)和內(nèi)核代碼
了解如何使用英特爾?SDKfor OpenCL?調(diào)試工具來調(diào)試OpenCL?主機(jī)和內(nèi)核代碼
Python自定義輸出格式
自定義輸出格式 我們可以在之前添加的輸出格式中添加其他的格式內(nèi)容 import coloredlogs import logging def func_name (): # 增加了 modules
內(nèi)核調(diào)試工具printkprintk的輸出格式
評(píng)論