2011-05-16 220 views
0

有沒有什麼方法可以調試Linux內核模塊?我正在尋找一個基於GUI的設施,如用於用戶流程的設施?Linux內核模塊調試

回答

1

如果您可以在虛擬機中運行您的內核,VMware Workstation允許GDB attach to the VM調試正在運行的內核。您可能也可以對其他VM平臺進行相同的操作,但我並不熟悉這些平臺。

還有KGDB用於在裸機上調試內核。您通過串口連接到目標計算機。我已經使用了這一點,它可以工作,但VMware做得更好。現代內核已將KGDB合併到主線,因此您不需要修補。

這並不能完全回答你的問題,因爲GDB本身並不完全是基於GUI的工具。您必須找到一些使用GDB的存根協議進行調試的GUI調試器,或者將GDB用可用界面包裝起來。

+0

感謝您的回覆,但實際上我已經測試了這種補救措施,但由於編譯器優化,內核的更新版本生成的vmlinux dos沒有任何調試信息!我找不到任何方法來禁用它。 – amrzar 2011-05-16 22:10:01

+0

@amrzar:如果你的二進制內核/模塊沒有調試信息,你將找不到任何可以幫助你的通用調試器。幸運的是,調試信息確實存在。如果你使用你的發行版的內核,谷歌找到調試包。如果您正在編譯自己的代碼,請查看「使用調試信息編譯內核」的「Kernel Hacking」菜單。 – Karmastan 2011-05-17 01:23:13