现在的问题是,是否有可能使用MacOS主机和VMware Fusion做同一件事(VirtualKD / WinDBG替代品)?我可以使用GDB远程调试,也可以做主机到主机(VM到VM)的调试,甚至可以使用两个VM进行内核调试?
感谢
#1 楼
是的,您可以使用两个VM进行内核调试。您将需要连接其串行端口。http://www.vmware.com/support/ws3/doc/ws32_devices3.html#1023828
以上内容适用于Windows。 OS X设置需要手动完成:http://www.dcl.hpi.uni-potsdam.de/research/WRK/2011/01/running-wrk-on-mac-os-with-vmware-fusion/index .html
在WinDbg / IDA端的连接字符串中,使用串行端口,而不是您通常使用的管道。
VirtualKD仅适用于在Windows主机,因此在这里无济于事。
始终可以进行GDB调试(使用
debugStub.*
设置)。好处是您不需要第二台VM,并且可以调试任何东西,包括BIOS和内核的任何部分。缺点是您没有WinDbg提供的漂亮的元信息,例如模块,进程和符号。#2 楼
使用VMWare Fusion进行内核调试在提升的命令提示符下打开目标VM的电源:和开发(调试器)VM。
导航到每个VM的.vmwarevm软件包,右键单击,选择“显示软件包内容”(或cd进入VM的软件包)。
serial0
端口,用于无配置打印。复制并粘贴下面的配置,并在必要时进行修改。 /> VMWare Fusion开机顺序
术语:
客户端:您在此上运行windbg
服务器:您破坏了此内核上的内核
步骤:
首先启动服务器,因为它是管道“服务器”,并且必须创建管道。客户下一步。
启动windbg,并在com0上等待它。 />
Voila
评论
使用Windows 8.1作为服务器有任何经验吗?该解决方案适用于Windows 7,但无法使其与Windows 8.1 VM(融合)一起使用
–卡洛斯·加西亚(Carlos Garcia)
2015年6月4日19:18
没关系,配置问题。
–卡洛斯·加西亚(Carlos Garcia)
2015年6月5日,9:17