亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 115797 | 回復(fù): 94
打印 上一主題 下一主題

VMWare Workstation 6.0調(diào)試Linux Kernel,竟如此方便 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2007-04-20 16:15 |只看該作者 |倒序?yàn)g覽
剛剛在LKML上看到的?梢宰龅紺源代碼級(jí)別的內(nèi)核單步調(diào)試,真是簡(jiǎn)單的無以復(fù)加了。  如果不存在LICENSE方面的考慮, 我覺得UML(User Mode Linux)已經(jīng)可以拋棄了。


一、環(huán)境:

    1, 一臺(tái)Linux機(jī)器, 用于運(yùn)行g(shù)db和VMWare Workstation 6.0, 我們稱之為HOST機(jī)器。
    2, VMWare6.0中安裝一個(gè)Linux系統(tǒng), 我們稱這個(gè)Linux系統(tǒng)為GUEST機(jī)器, 它運(yùn)行被調(diào)試的內(nèi)核。


二、設(shè)置:

    很簡(jiǎn)單,在你的HOST Linux中,往GUEST Linux的vmware配置文件(即后綴名為.vmx的文件)追加一個(gè)字符串。 在我的機(jī)器上是這樣的:

    # echo "debugStub.listen.guest32=1" >> /root/vmware/FC4\ Linux/FC4\ Linux.vmx

注譯, 如果你是的GUEST是在x86-64上運(yùn)行的, 那么把上面這行的就是debugStub.listen.guest64=1



補(bǔ)充:vmware ws 6.0尚未正式發(fā)布, 請(qǐng)到這里下載:
http://www.vmware.cn/Soft/793.html

[ 本帖最后由 albcamus 于 2007-4-23 09:14 編輯 ]

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2007-04-20 16:15 |只看該作者
三、調(diào)試:
   




1, 把GUEST Linux上的內(nèi)核映像文件(vmlinux)和內(nèi)核源代碼拷貝到HOST機(jī)器上。
  
    為了能夠用gdb的list命令顯示源代碼, 看看GUEST機(jī)器上的/lib/modules/<kernel version>/source (以下簡(jiǎn)稱source) 和/lib/modules/<kernel version>/build (以下簡(jiǎn)稱build)這兩個(gè)符號(hào)鏈接各自指向哪里(注:如果編譯內(nèi)核時(shí)沒有用O=<your path>選項(xiàng)指定輸出的路徑,那么這兩個(gè)符號(hào)鏈接就指向同一個(gè)路徑,通常是/usr/src/linux-2.x.xx)。拷貝到HOST機(jī)器上相應(yīng)的路徑上。
    提醒: 編譯內(nèi)核之后build目錄下會(huì)有很多臨時(shí)文件, 有上G之大, 可以先把build目錄下的vmlinux拷貝到HOST機(jī)器上, 然后進(jìn)入source目錄, 運(yùn)行:
    make O=/lib/module/<kernel version>/build clean
    然后再把build和source拷貝到HOST機(jī)器上。



2, 啟動(dòng)安裝在VMWare中的GUEST Linux。
   

3, 在HOST機(jī)器上運(yùn)行g(shù)db, 進(jìn)行調(diào)試:
  


  1. (gdb) file vmlinux   //vmlinux就是從GUEST拷貝過來的內(nèi)核映像文件
  2. Reading symbols from /root/vmlinux...done.
  3. Using host libthread_db library "/lib/libthread_db.so.1".
  4. (gdb) target remote localhost:8832  //注意,如果你的GUEST Linux是64位的,這里的localhost:8832就改成localhost:8864
  5. Remote debugging using localhost:8832
  6. [New thread 1]
  7. 0x000f4299 in ?? ()
  8. warning: shared library handler failed to enable breakpoint

復(fù)制代碼

[ 本帖最后由 albcamus 于 2007-4-23 09:15 編輯 ]

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2007-04-20 16:15 |只看該作者
作為例子,下面是幾個(gè)調(diào)試動(dòng)作:

3.1 設(shè)置斷點(diǎn):

(gdb) b do_IRQ

[ 本帖最后由 albcamus 于 2007-4-20 16:17 編輯 ]

ws6_kernel-1-breakpoint.jpg (135.99 KB, 下載次數(shù): 518)

ws6_kernel-1-breakpoint.jpg

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2007-04-20 16:15 |只看該作者
3.2 Continue和Step單步調(diào)試:

可以看出, gdb運(yùn)行一下step命令, GUEST Linux就往下執(zhí)行一句;否則就停著

[ 本帖最后由 albcamus 于 2007-4-20 16:18 編輯 ]

ws6_kernel-2-continue-and-step.jpg (146.41 KB, 下載次數(shù): 483)

ws6_kernel-2-continue-and-step.jpg

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2007-04-20 16:15 |只看該作者
3.3 清除斷點(diǎn),Continue

沒有斷點(diǎn)了, continue命令之后GUEST Linux就會(huì)正常的跑下去了。

[ 本帖最后由 albcamus 于 2007-4-20 16:19 編輯 ]

ws6_kernel-3-clear-and-continue.jpg (82.99 KB, 下載次數(shù): 490)

ws6_kernel-3-clear-and-continue.jpg

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2007-04-20 16:17 |只看該作者
3.4 gdb的quit命令



可見, 在gdb中quit了被調(diào)試程序, GUEST Linux就關(guān)機(jī)了。

[ 本帖最后由 albcamus 于 2007-4-20 16:19 編輯 ]

ws6_kernel-4-quit-the-debug.jpg (139.52 KB, 下載次數(shù): 546)

ws6_kernel-4-quit-the-debug.jpg

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2007-04-20 16:17 |只看該作者
VMWare Workstation 6.0真是個(gè)好東西, 推薦!

[ 本帖最后由 albcamus 于 2007-4-20 16:20 編輯 ]

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2007-04-20 16:21 |只看該作者
太高興了,我要自己加個(gè)精華!

論壇徽章:
1
戌狗
日期:2013-09-27 21:34:55
9 [報(bào)告]
發(fā)表于 2007-04-20 17:04 |只看該作者
LKML的鏈接在哪里?
另外我要打擊一下樓主,實(shí)際上你不可能進(jìn)行源代碼級(jí)調(diào)試的,因?yàn)長(zhǎng)inux內(nèi)核不支持-g和-ggdb編譯選項(xiàng)
那個(gè)圖是你的實(shí)踐成果還是轉(zhuǎn)的?info threads命令結(jié)果咋樣?

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2007-04-20 17:12 |只看該作者
原帖由 SCvsCS 于 2007-4-20 17:04 發(fā)表于 9樓  
LKML的鏈接在哪里?
另外我要打擊一下樓主,實(shí)際上你不可能進(jìn)行源代碼級(jí)調(diào)試的,因?yàn)長(zhǎng)inux內(nèi)核不支持-g和-ggdb編譯選項(xiàng)
那個(gè)圖是你的實(shí)踐成果還是轉(zhuǎn)的?info threads命令結(jié)果咋樣?


這個(gè)是不是單步?  

LKML我是在自己郵箱里看的, 應(yīng)該就是今天的郵件。  圖是自己實(shí)踐的。

[ 本帖最后由 albcamus 于 2007-4-20 17:15 編輯 ]

t.jpg (69.5 KB, 下載次數(shù): 400)

t.jpg
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP