免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4811 | 回复: 6
打印 上一主题 下一主题

[转]VMWare Workstation 6.0调试Linux Kernel [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-07 00:52 |只看该作者 |倒序浏览
刚刚在LKML上看到的。可以做到C源代码级别的内核单步调试,真是简单的无以复加了。  如果不存在LICENSE方面的考虑, 我觉得UML(User Mode Linux)已经可以抛弃了。

论坛徽章:
0
2 [报告]
发表于 2007-09-07 00:52 |只看该作者
一、环境:

    1, 一台Linux机器, 用于运行gdb和VMWare Workstation 6.0, 我们称之为HOST机器。
    2, VMWare6.0中安装一个Linux系统, 我们称这个Linux系统为GUEST机器, 它运行被调试的内核。

论坛徽章:
0
3 [报告]
发表于 2007-09-07 00:53 |只看该作者
二、设置:

    很简单,在你的HOST Linux中,往GUEST Linux的vmware配置文件(即后缀名为.vmx的文件)追加一个字符串。 在我的机器上是这样的:

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

注译, 如果你是的GUEST是在x86-64上运行的, 那么把上面这行的就是debugStub.listen.guest64=1



补充:vmware ws 6.0尚未正式发布, 请到这里下载:
http://www.vmware.cn/Soft/793.html

论坛徽章:
0
4 [报告]
发表于 2007-09-07 00:53 |只看该作者
三、调试:
   




1, 把GUEST Linux上的内核映像文件(vmlinux)和内核源代码拷贝到HOST机器上。
  
    为了能够用gdb的list命令显示源代码, 看看GUEST机器上的/lib/modules/< kernel version>/source (以下简称source) 和/lib/modules/< kernel version>/build (以下简称build)这两个符号链接各自指向哪里(注:如果编译内核时没有用O=< your path>选项指定输出的路径,那么这两个符号链接就指向同一个路径,通常是/usr/src/linux-2.x.xx)。拷贝到 HOST机器上相应的路径上。
    提醒: 编译内核之后build目录下会有很多临时文件, 有上G之大, 可以先把build目录下的vmlinux拷贝到HOST机器上, 然后进入source目录, 运行:
    make O=/lib/module/<kernel version>/build clean
    然后再把build和source拷贝到HOST机器上。



2, 启动安装在VMWare中的GUEST Linux。
   

3, 在HOST机器上运行gdb, 进行调试:
   




(gdb) file vmlinux   //vmlinux就是从GUEST拷贝过来的内核映像文件

Reading symbols from /root/vmlinux...done.

Using host libthread_db library \"/lib/libthread_db.so.1\".

(gdb) target remote localhost:8832  //注意,如果你的GUEST Linux是64位的,这里的localhost:8832就改成localhost:8864

Remote debugging using localhost:8832

[New thread 1]

0x000f4299 in ?? ()

warning: shared library handler failed to enable breakpoint

论坛徽章:
0
5 [报告]
发表于 2007-09-08 17:14 |只看该作者
Very Good,VM 5.5行否? 去试下

论坛徽章:
0
6 [报告]
发表于 2007-09-26 11:33 |只看该作者
有用virtualbox的例子不

论坛徽章:
0
7 [报告]
发表于 2007-09-29 20:32 |只看该作者
dddddddddddddddddddddddddd
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP