有沒有什麼方法可以調試Linux內核模塊?我正在尋找一個基於GUI的設施,如用於用戶流程的設施?Linux內核模塊調試
0
A
回答
1
如果您可以在虛擬機中運行您的內核,VMware Workstation允許GDB attach to the VM調試正在運行的內核。您可能也可以對其他VM平臺進行相同的操作,但我並不熟悉這些平臺。
還有KGDB用於在裸機上調試內核。您通過串口連接到目標計算機。我已經使用了這一點,它可以工作,但VMware做得更好。現代內核已將KGDB合併到主線,因此您不需要修補。
這並不能完全回答你的問題,因爲GDB本身並不完全是基於GUI的工具。您必須找到一些使用GDB的存根協議進行調試的GUI調試器,或者將GDB用可用界面包裝起來。
1
是的,如果你想要GUI,那麼虛擬化和kgdb是需要的。例如,運行帶有內核模塊的Linux的VirtualBox被調試,而主機是另一個Linux。
http://allmybrain.com/2010/04/29/debugging-linux-kernel-modules-with-virtualbox-and-kgdb/
我已經做到了爲Linux和OpenSolaris,而且我必須說,VirtualBox是理解的東西在內核發生真正一流的。
相關問題
- 1. 如何調試linux內核模塊?
- 2. Linux內核調試
- 3. 調試Linux內核模塊的init_module()調用
- 4. Linux內核和我的內核模塊
- 5. Linux內核模塊編程
- 6. Linux內核模塊編譯
- 7. Linux內核模塊ABI(x86)
- 8. 安裝Linux內核模塊
- 9. 從Linux內核模塊
- 10. Linux內核模塊配置
- 11. Linux內核模塊編譯
- 12. 關於linux內核模塊
- 13. 剖析Linux內核模塊
- 14. Linux內核模塊(內核3.5)中的系統調用攔截
- 15. 如何調試Linux內核模塊`init()`中的問題?
- 16. 從Linux調試Windows內核
- 17. linux內核模塊內存檢查器
- 18. 編譯linux內核模塊時出錯
- 19. 展開陣列Linux內核模塊
- 20. Linux可加載內核模塊exit_module
- 21. C - Linux - 內核模塊 - TCP標頭
- 22. 運行Linux內核模塊(Hello World)
- 23. 在Python中開發Linux內核模塊
- 24. 烘烤Linux內核模塊,使用OpenEmbedded
- 25. Linux內核模塊 - 安全風險?
- 26. 如何編寫Linux內核模塊?
- 27. 在Linux內核模塊中使用RPC
- 28. Linux內核模塊編程:makefile
- 29. Linux內核模塊的權限
- 30. linux內核模塊字符設備
感謝您的回覆,但實際上我已經測試了這種補救措施,但由於編譯器優化,內核的更新版本生成的vmlinux dos沒有任何調試信息!我找不到任何方法來禁用它。 – amrzar 2011-05-16 22:10:01
@amrzar:如果你的二進制內核/模塊沒有調試信息,你將找不到任何可以幫助你的通用調試器。幸運的是,調試信息確實存在。如果你使用你的發行版的內核,谷歌找到調試包。如果您正在編譯自己的代碼,請查看「使用調試信息編譯內核」的「Kernel Hacking」菜單。 – Karmastan 2011-05-17 01:23:13