推薦回答
Linux內核調試方法kdb:只能在匯編代碼級進行調試;優點是不需要兩臺機器進行調試。gdb:在調試模塊時缺少一些至關重要的功能,它可用來查看內核的運行情況,包括反匯編內核函數。kgdb:能很方便的在源碼級對內核進行調試,缺點是kgdb只能進行遠程調試,它需要一根串口線及兩臺機器來調試內核也可以是在同一臺主機上用vmware軟件運行兩個操作系統來調試printk是調試內核代碼時最常用的一種技術。在內核代碼中的特定位置加入printk調試調用,可以直接把所關心的信息打打印到屏幕上,從而可以觀察程序的執行路徑和所關心的變量、指針等信息。Linux內核調試器。清單6給出了dmesg顯示的最后幾條消息。清單6.查看來自LKM的內核輸出#dmesg|tail-5cs:IOportprobe0xa00-0xaff:clean.eth0:Linkisdowneth0:Linkisup,runningat100Mbithalf-duplexmy_module_initcalled.Moduleisnowloaded.my_module_cleanupcalled.Moduleisnowunloaded.可以在內核輸出中看到這個模塊的消息。現在讓我們暫時離開這個簡單的例子,來看幾個可以用來開發有用LKM的內核API。調試工具使用調試器來一步步地跟蹤代碼,查看變量和計算機寄存器的值。在內核中使用交互式調試器是一個很復雜的問題。內核在它自己的地址空間中運行。許多用戶空間下的調試器所提供的常用功能很難用于內核之中,比如斷點和單步調試等。
黎玉龍2019-12-21 11:10:27
卓優商學院提示您:回答為網友貢獻,僅供參考。