安装vmware+vs双机调试(win10+win10+windbg)
这里写自定义目录标题概念新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入概念主机是编译驱动的机子,目标主机是虚拟
概念
主机是编译驱动的机子,目标主机是虚拟机内的电脑。主机需要安装VS。
环境搭建
网上有很多很多搭建教程,这里就不复制粘贴了,可以自己去搜。主要步骤如下:(并不保证是完全完整的步骤)
-
安装vs(我是VS2019 community),vs installer中装一些需要的库。我装的太多了,其实只需要装红色框内的即可开发windowsX64驱动。
-
winsdksetup安装SDK(10.1.19041.1版本)
-
安装wdk(10.1.19041.1版本)
-
安装VMWARE(15.5.6版本)
//!!!!!!版本一定要相互匹配,下载的安装包、镜像等等一定要从正规途径下,例如官网和i tell u。我就因为下载的安装包有问题重新搞了几遍。 -
安装windows镜像(win10edu x64),这个从i tell u MSDN里下载,下载后的文件名是cn_windows_10_education_x64_dvd_6847843.iso
-
主机和虚拟机均把防火墙关闭,反正只要保证双方可以相互ping通即可。
-
配置com串口serial一系列东西,在很多教程中都能看到。
-
在虚拟机中安装wdk文件夹下的wdk test target (版本10.1.19041.1)。打开测试模式
可以结合来看这个教程中,“二、具体操作步骤”中的1-4步:
https://blog.csdn.net/qing666888/article/details/50858272
………………
(不确定有没有影响,但我的主机和虚拟机关闭了bios的安全启动和windows设置的bitlocker)
一系列操作后,能通过windbg.exe连接上虚拟机,或是通过vs里的附加到进程中的debug immediate窗口看到已连上,注:VS自带windbg所以不一定非要使用windbg.exe来调试。
(其中,通过windbg.exe需要修改属性栏里的后缀,详见其他教程,如果出现了windbg的报错symbol错误也没关系,查了很多说是微软官方的symbol库无法下载故而可以忽略此报错,不会影响调试;VS中调试需要先在项目中配置add device,与虚拟机中的串口连上。之后生成解决方案再部署解决方案,均成功后,点击调试中的附加到进程,选择kernel debug模式,再选择你之前添加的device,这些也可以在上面给出的教程链接中看到图文讲解)
最关键的一步
网上很多教程都到这里就结束了。但我的代码遇到了输出不在windbg窗口显示的问题,查到了一个blog,要在虚拟机中配置注册表才可。
详见下:
https://blog.csdn.net/cosmoslife/article/details/54952463
除此以外,代码中还需要使用KdPrint,选中ERROR_LEVEL,尝试过换成INFO_LEVEL但是并不会输出语句。其他输出函数还未尝试过目前只知道这个函数可以。使用方法如下:
KdPrintEx(( DPFLTR_IHVDRIVER_ID, DPFLTR_ERROR_LEVEL, “KmdfHelloWorld: DriverEntry\n” ));
更多推荐
所有评论(0)