先介绍一下我的调试环境,物理机win10上安装vs2013,调试端内核计算机(win7x64)和被调试端机(win7x64,ip:10.120.1.128)都在exsi上,3台主机都在同意网段
在被调试端内核计算机,编辑配置->添加串行端口
启动msconfig->引导->高级选项
在调试端内核计算机->添加串行端口
然后运行windbg->KernelDebug
成功连上调试
接下来在vs目录找到Remote Debugger文件夹复制到被调试端计算机,启动里面的msvsmon.exe
选择工具->选项,如图配置
vs自动部署项目可以使用这种方法
然后项目->右键->部署,
在vs项目代码开始处加入以下这段,确保被调试程序启动后挂起,等待输入
在物理机vs中选择菜单,调试->附加到进程->查找
然后选择在调试端计算机,如果无法找到目标,请先确保关闭防火墙并启用windows网络发现
选择被调试程序进程点击附加
在被调试端计算机程序待用户输入后,vs成功触发断点
此时vs用于调试用户态程序和windbg调试内核态,读者是不是觉得内核研究调试环境方便了许多
使用vs自带的调试引擎有个严重问题,在内核态下断点或者其他操作后vs的调试连接会因为超时丢失,直接退出调试,很不方便,现在用WindbgForVS引擎wdk插件在vs中调试,没有这个问题
安装wdk8.1下载地址链接:
下载这个版本的windbg链接,其实就是wdk8.1自带版本,装了wdk8.1就不需要了:
在被调试端内核计算机,启动以下命令,我使用的调试端口是8456,也可以指定其他的
在物理机vs中选择菜单,调试->附加到进程->选择windows user mode debugger->查找
点击add new computer
输入被调试端内核计算机ip地址
在usermode一栏选择tcp端口号和dbgsrv端口号一致,点击下一步
,
注意被调试机安装的windbg版本必须和物理机一致,版本号6.3.9600.16384,位于
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2020-4-2 15:01
被王cb编辑
,原因: 添加vs自动部署项目