歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 查找內核中的特定代碼

查找內核中的特定代碼

日期:2017/2/27 9:41:19   编辑:更多Linux

假定,您想要開始研究 USB 驅動程序。從哪裡入手查找 USB 代碼?

首先,您可以在頂層內核目錄中嘗試運行 find 命令:

$ find . -name \*usb\*

這個命令將打印出包含有字符串“usb”的所有文件名。

可以嘗試的另外一種方法是,查找某個惟一的字符串。這個惟一的字符串可以是 printk() 的輸出,或者是 /proc 中的文件名稱,或者是可以在源代碼中找到的關於那個驅動程序的任意其他惟一的字符串。例如,USB 打印的消息是:

USB Universal Host Controller Interface driver v2.2

所以可以嘗試使用遞歸的 grep 來查找那個 printk 中不包括版本號的部分:

$ grep -r "USB Universal Host Controller Interface driver" .

嘗試查找 USB 源代碼的另一種方法是查看 /proc。如果輸入 find /proc -name usb,那麼可能會找到一個名為 /proc/bus/usb 的目錄。閱讀那個目錄中的條目,可能會找到用於 grep 命令的惟一字符串。

如果所有其他方法都失敗了,那麼可以嘗試進入到各個目錄並列出文件,或者查看 ls -lR 的輸出。可能會看到看起來相關的文件名。不過,這應該是最後的辦法,只有在多次運行了不同的 find 和 grep 命令後再來嘗試它。

找到感興趣的源代碼後,可以開始閱讀它。閱讀和理解源代碼本身就是另外一門課程。只需要記住,對源代碼閱讀的越多,就越容易把握它。祝您在研究內核的過程中獲得樂趣!




Copyright © Linux教程網 All Rights Reserved