日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

virtualbox调试linux内核,virtualbox+kgdbt调试linux内核

發(fā)布時間:2025/3/20 linux 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 virtualbox调试linux内核,virtualbox+kgdbt调试linux内核 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考http://blog.csdn.net/zr_lang/article/details/8107015

環(huán)境需求:

兩臺linux虛擬機,我這里用的virtualbox安裝的ubuntu12.04系統(tǒng),內核版本3.2

其中1臺虛擬機作為開發(fā)機virtualpc,另一臺則作為被調試機target

過程:

由于不會對下載來的內核源碼進行準確的編譯配置,一般下載的源碼編譯安裝后無法引導,提示缺少相關模塊,這就是由于模塊配置的原因無法進入新裝內核系統(tǒng),而不同版本之間的配置文件又無法通用

不過在查看原系統(tǒng)配置文件的時候發(fā)現這個直接安裝的系統(tǒng)居然已經配置了所需的KGDB選項(雖然不知道一般的發(fā)行版為什么會默認配置這個.....)

這樣就好辦了根本不需要重新編譯安裝新內核,只要在當前可用內核中添加kgdb啟動參數就能等待調試了,于是在target中sudo apt-get install linux-image-3.2.0-51-generic-pae,在grub.cfg中copy出一個新的3.2.51內核的啟動項,然后在啟動參數后添加kgdboc=ttyS0,115200 kgdbwait。

然后在www.kernel.org下載了3.2.0-51版本的內核,make bzImage后獲得調試需要的vmlinux內核文件。

同時設置啟用兩臺虛擬機的串口COM1,端口模式為主機管道,輸入相同的管道文件路徑,并在virtualpc中勾選創(chuàng)建通道。

首先啟動virtualpc開發(fā)機,將下載編譯了的內核源代碼復制或共享到開發(fā)機中,啟動target調試機選擇新的kgdb調試選單,會出現等待遠程調試連接的提示,這時候就能使用我們的gdb來調試內核了,gdb的簡單UI版gdbtui或者cgdb也可以使用,調試起來更加直觀。這里使用了cgdb,首先:

cd到源碼根目錄

cgdb? vmlinux

set remotebaud 115200

target remote /dev/ttyS0

之后就會出現內核源碼并能夠開始真正的調試工作,同時可以觀察target的變化。

經測試上面鏈接中的用主機gdb在set remotebaud 115200后用target remote |?socat ?stdio ?unix-connect:/tmp/vbox來連接管道調試虛擬機可行。看來主機調試虛擬機是完全沒問題地!~

貼上調試效果:

總結

以上是生活随笔為你收集整理的virtualbox调试linux内核,virtualbox+kgdbt调试linux内核的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。