首页 > 资讯 > 科技 > 正文
2024-02-24 08:11

Mac下Windows双机调试环境配置pd+vm

前言:

驱动开发和内核需要双机调试。 PC和win笔记本的结合只需要一台虚拟机就可以调试,而且网上教程也很多。

由于macos无法安装,所以需要准备两台虚拟机,一台调试机(安装)和一台被调试机(运行驱动)。

然而,如何通过串口链接两个虚拟机就成了一个问题。

注:被调试机的串口配置为调试机的串口配置(pd不同,如果连接不上则相反设置)

环境配置:

win7  被调试机win10 调试机 (有windbg)

让我提前告诉你

启动顺序

启动调试机并连接串口

调试好的机器启动

结束序列。

必须是g,运行时不能停在断点处(被调试机器的鼠标必须能操作)

辞职

调试器关闭机器

否则,调试器将无法关闭机器(一直在转圈),只能在任务管理器中结束该vm的所有进程。

如果要恢复快照,谁先启动调试器并不重要。

1.添加串口下的双机调试

2、新的名字是com1(随便命名吧,反正PC配置的时候就是这个名字)

3. 选择串口模式

调试机选型:客户端

调试机器选择:服务器

(调试机服务器;;;;;调试机:客户端也可以断开连接……)

插曲:因为手速太快,我把调试机恢复到了快照。 什么驱动环境、vs环境等等都没有了。 那么调试机的串口com1的客户端被占用,但是com1的服务器串口可以使用。 然后将被调试机的串口改为客户端,也可以调试了。 这太神奇了。

最开始: 调试机=com1客户端  被调试机=com1服务端 , 能调windbg能断下来================================================================================手残恢复调试机快照之后 : 调试机=com1服务端  被调试机=com1客户端   , 也能断下来 可以调试

4. 配置客户端。

开机后,以管理员身份打开cmd,执行以下两条命令:

bcdedit /copy {current} /d "MyOS"bcdedit /debug ON

执行完成后输入win+r查看全局调试是否为com1。

然后关闭

5.调试机器配置

6、调试好的机器开机时(win7、win10)会出现引导访问并回车(第一次开机会很慢)

windows调试模式_启用调试模式_windows调试模式有什么用

7、调试机会显示连接成功。

然后点击break,就会中断到内核(中断后先拍个快照),就可以调试了。

8、内核断点断时拍启动快照(正在调试的机器)

也就是说,当鼠标不能点击屏幕时,否则下次恢复快照时,可能无法连接到被调试的机器。

1.配置文件路径下的双机调试

告诉我这条路在哪里

/Users/Virtual Machines.localized/com1

com1 是串口的名称

前面的路径是虚拟机的存储位置(右键单击虚拟机,在中显示该路径)

/Users/Virtual Machines.localized//Users/{username}/Virtual Machines.localized/  通常就多个username

然后右键单击以显示包内容并找到要编辑的 .vmx 文件。

先删除所有内容,然后在最后添加以下内容(注意区分调试器和被调试机器)

调试机器

serial0.fileName = "/Users/Virtual Machines.localized/com1"serial0.present = "TRUE"serial0.fileType = "pipe"serial0.yieldonMsrRead = "TRUE"serial0.startConnected = "TRUE"

调试机器

serial0.fileName = "/Users/Virtual Machines.localized/com1"serial0.present = "TRUE"serial0.fileType = "pipe"serial0.pipe.endPoint = "client"serial0.yieldonMsrRead = "TRUE"

2.配置被调试机器

与上面相同

开机后,以管理员身份打开cmd,执行以下两条命令:

bcdedit /copy {current} /d "MyOS"bcdedit /debug ON

然后不要急着重启

3.配置调试机

与上面相同

配置通讯

4.重启调试好的机器

当遇到引导访问时,只需按 Enter 即可收到请求。

5. 将断点设置到内核,然后调试器拍摄快照。

注:win10调试win10

在Win10上调试Win10时,被调试机器开机时会出现多个断点。 按住 g 直到进入桌面。

进入桌面后,断开与内核的连接并拍摄快照。

PC端双机调试网上有很多教程,B站也有视频跟着配置。

或者只注意关机顺序和启动顺序。 如果顺序错误,你就会陷入困境。 如果还不能解决问题,请重启物理机。