Win10下VS2019双机调试之调试驱动

转载于 https://blog.csdn.net/m0_48995611/article/details/112211268
有现成的写的非常详细就不重复造轮子了
ps
1.注意文章字体加深部分,非常重要
2.原文bcdefit /dbgsettings打错,改成bcdedit /dbgsettings
3.文章黄色部分涉及到的 “注意:Network host name必须为虚拟机的计算机名.
不是Vmware软件左侧显示的名称,而是需要在虚拟机内部右键“我的电脑”找到“设备名称”

1.虚拟机设置

添加串行端口

虚拟机设置中,先移除打印机,然后添加串口。(打印机可能会占用COM1端口,所以先移除,当然使用其他端口也可以,但相关设置都要更改为相应的端口)

串口设置如下图:

设置系统引导

win+R,运行 窗口中输入 msconfig,回车,打开系统配置。
选择 引导 - 高级选项,设置如下图:

设置测试模式

在本地WDK的安装目录下找到 Remote 文件夹,复制相应的 WDK Test Target Setup.msi 文件到虚拟机中打开。

管理员权限运行cmd,输入 bcdedit /set testsigning onbcdedit /Debug on ,开启测试模式。
输入 bcdefit /dbgsettings 查看设置情况如下。

2.VS2019设置

添加新设备

打开 扩展 - Diver - Test - Configure Devices…,选择 Add New Device

输入名称,然后下一步。注意:Network host name必须为虚拟机的计算机名。

Kernel Mode中设置串口通信等信息,如下图:
注意:Pipe name要与虚拟机串口设置的管道名称一致。

下一步, Driver test configurationStatus 显示为 Configured for driver testing 说明一切正常,完成。

3.双机调试

VS2019中,选择 调试 - 附加到进程,连接类型选择 Windows Kernel Mode Debugger,连接目标为之前新建的Device,附加。
注意:附加前要开启虚拟机

Debug窗口会显示以下字样,表示已打开管道并等待重连。(注意是 Opened \.\pipe\com_1)

接着重新启动虚拟机,等待虚拟机进入桌面。Debug窗口显示如下:
注意:1.这里可能会花较长时间,并不是因为卡死了。
注意:2.重启虚拟机的时候记得禁用驱动程序强制签名。(或者使用testsigning)

进入桌面后,虚拟机可以正常操作。在VS2019中按下 全部中断

等待VS停下来,并出现以下画面,再点击 继续(先暂停再继续,否则可能断不下来)

此时就可以设置断点了。

注意:如果VS很长时间都没有响应,可以用任务管理器结束VS,然后重新打开再附加到进程。

等待虚拟机可以正常操作后,将主机生成的驱动程序拷贝到虚拟机中,用相关程序加载,就可以成功命中断点。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值