打开虚拟机,在虚拟机资源库里面找到被调试虚拟机,右键选择在Finder中显示,会出现.vmx配置文件。
在Finder中显示
右键
显示包内容
右键VMX文件,打开方式选择UltralEdit等文本编辑软件。
在里面找到checkpoint.vmState = ""这一行(也有可能不需要在此行)。在下面添加:
checkpoint.vmState = ""
serial0.present = "TRUE" serial0.fileType = "pipe" serial0.yieldOnMsrRead= "TRUE" serial0.startCOnnected= "TRUE" serial0.fileName = "/Users/tora/Documents/Serial"
其中serial0.fileName = "/Users/tora/Documents/Serial"后面双引号里面的路径可以自己定义,这是定义用来存放串口之间通讯的文件的位置。
serial0.fileName = "/Users/tora/Documents/Serial"
再次在虚拟机资源库里面找到主虚拟机,做相同的操作,不过添加的代码变成:
serial1.present = "TRUE" serial1.yieldOnMsrRead= "TRUE" serial1.fileType = "pipe" serial1.fileName = "/Users/tora/Documents/Serial" serial1.pipe.endPoint = "client"
其中serial1.fileName = "/Users/tora/Documents/Serial"双引号里面的路径必须和被调试虚拟机一样。
serial1.fileName = "/Users/tora/Documents/Serial"
代码里面serial后面的数字,0 代表是COM1 ,1代表COM2 以此类推。因此,配置Windbg时,记得选择COM2口作为调试端口。
serial
启动被调试虚拟机,在选择系统处移动一下光标,不要回车,然后放着不动。
启动主虚拟机,点击开始-我的电脑右键-管理
开始
管理
打开计算机管理,点击左侧系统工具-设备管理器,右侧双击端口(COM和LPT),可以看到连接到虚拟机的串口号。演示里面是COM2。
系统工具
设备管理器
端口(COM和LPT)
打开自行安装的Windbg,依次点击 File-Kernel Debug,在打开的COM选项卡里面,Baud Rate填写115200,在Port里面填写COM2,然后确定。
File
Kernel Debug
Baud Rate
115200
Port
COM2
确定
再次确定,会出现一个控制台,显示Waiting to reconnect...
Waiting to reconnect...
选择被调试虚拟机,在上面的标签栏-虚拟机里面选择重启虚拟机。
重启虚拟机
在被调试虚拟机里面选择系统时,选择带有[启用调试程序]标签的系统。
[启用调试程序]
可以看到,主虚拟机里面Windbg的控制台刷新出被调试虚拟机的内核信息。
这种方式每次调试都要重启目标机,没有在windows上随时都可以用windbg连接目标机那么方便。
MAC 系统下使用vmwarefusion 双虚拟机调试windows驱动