查看“VMware”的源代码
←
VMware
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{Emulators}} '''VMware''' 基本上是有钱人用的 “虚拟机”。 它可以运行任意数量的“来宾操作系统(Guest Operating Systems)”,并可以从真实媒体或映像文件启动。 它带有一个图形用户界面,比[[Bochs]]或[[QEMU]]更容易配置。 请注意: VMware不是模拟器(emulator)。 模拟器(emulator)和虚拟机监控器(virtual machine monitor)之间有很大的区别。 模拟器,如Bochs,模拟每条指令,而VMware(和Virtual PC)尝试直接在主机PC上运行大部分代码,并且只模拟产生无效指令错误或访问系统级内存的指令。 VMware BIOS支持从CD (使用mgisofs制作可引导CD,将cdrom设备连接到.iso文件) 或软盘驱动器 (将软盘连接到文件) 以及硬盘驱动器启动。 这些是加载自己内核的最简单选项。 ==版本== VMware对爱好者的有用性取决于代码的生成。 大体上说: * Workstation 5.0(及更早版本)。 对业余爱好者来说一点帮助都没有。 错误代码是为向VMware报告而设计的,并且没有以开发人员为中心的功能。 * Workstation 5.5(Player 1.0,Server 1.0)。 稍微有用一点:有缺陷的来宾操作系统会跟踪到有用的错误消息。 但在现实中,去找一些更现代的东西吧。 如果您正在编写多处理器内核,它能支持SMP。 Server和Player都是免费的,这是一项额外的福利;选Server版吧。 * Workstation 6.0 (Fusion 1.0/1.1)。 有用的特性:基于GDB的来宾调试存根(guest debug stub)支持。 有用的功能:记录重放(虽然很难使用),这可能有助于再现竞争条件。 * ???(Server 2.0 测试版正在进行中)。 当前版;无法获得详细信息。 * 注:VMware Player完全免费使用,体积比VMware Workstation小。 新版本的VMware Player (从3.0向上) 能够创建新的虚拟机。 因此,这个VMM是*完美的*的测试对象。 == 来宾调试(Guest debugging)== 这些选项在Workstation 6.0中有效,应在虚拟机中设置.vmx文件。 * debugStub.listen.guest32 = "TRUE" * debugStub.listen.guest64 = "TRUE" 如果使用这些选项,工作站会在VMware.log文件中打印一条消息 “vmware Workstation正在侦听端口8832上的调试连接”。 启动GDB会话(使用包含调试信息的内核副本),然后: * 目标远程本地主机:8832 请注意,某些版本的VMWare包含一个错误: 断开GDB与端口8832的连接后,VMWare实际上将继续侦听端口8833而不是8832。 通过查看vmware中最新的“Debug stub”条目,始终可以找到实际的vmware.log 文件: <code>vmx| W110: Debug stub: VMware Workstation is listening for debug connection on port 8833.</code> 标准gdb命令在此模式下工作 (例如,printing memory,backtrace)。 请注意,这是附加到内核的调试存根,而不是用户空间程序。 其他有用的选项: * debugStub.listen.guest32.remote = "TRUE" # 允许从不同的计算机/VM而不是本地主机进行调试。# 远程调试的IP将是主机的IP。 * debugStub.listen.guest64.remote = "TRUE" # 相同,但对于64位代码 * monitor.debugOnStartGuest32 = "TRUE" # 在第一条指令上中断调试存根(警告:在BIOS中!) #这将在0xFFFF0处的第一条指令处停止虚拟机,您可以将下一个断点设置为在BIOS加载引导加载程序时中断*0x7c00 * debugStub.hideBreakpoints = "TRUE" # 允许使用硬件断点而不是软件(INT3)断点 * bios.bootDelay = "3000" # 延迟启动BIOS代码。 == 三重故障 == VMware产品通过重启机器来模拟三重故障。 但是,在beta产品上,Guest三重故障会导致错误19580。 有时这代表了VMware emulation中的一个缺陷;通常,这表示自制内核中有一个bug。 == Guest Tools == {{Main|VMware_tools}} 作为一款面向普通用户的虚拟化产品时,VMware通过其针对主要操作系统的“工具”包提供了许多功能,例如绝对鼠标定位和显示大小调整。 ==与IDE的兼容性== * IDA Pro支持通过VMWare存根调试Windows内核 [https://www.hex-rays.com/products/ida/support/tutorials/debugging_gdb_linux_vmware.pdf] * VisualKernel支持使用VMWare gdb存根从Visual Studio调试Linux内核[http://visualkernel.com/tutorials/vmware/] == 另见 == === 外部链接 === * http://www.vmware.com/ - VMware主页。 * http://communities.vmware.com/index.jspa - 社区论坛。工程师也在线;如果礼貌地询问,一些人会提供非常准确的技术细节 * http://www.pagetable.com/?p=25 - 在AMD Opteron RevC处理器上使用VMware遇到的问题的描述。 * http://stackframe.blogspot.com/2007/04/debugging-linux-kernels-with.html - VMware 工程师介绍了如何使用调试存根调试Linux内核。 *http://sourceforge.net/projects/open-vm-tools/ - 开源客户端工具。VMware专有硬件和主机/客户端挂钩的良好来源 [[Category:Emulators]]
本页使用的模板:
模板:Emulators
(
查看源代码
)
模板:If
(
查看源代码
)
模板:Main
(
查看源代码
)
模板:Show1
(
查看源代码
)
模板:SmallNavBox
(
查看源代码
)
返回至“
VMware
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息