一、32位/64位WINDOWS驱动之windbg双机调试
windbg双机调试环境配置
第一步关掉虚拟机
如果有打印机请移除打印机(打印机会占用端口)
添加-添加串行端口-完成
选择使用命名的通道-名字为 \.\pipe\abc123(对应下面的COM1) -确定-在开启虚拟机
在虚拟机命令行里面输入 msconfig 来到系统配置 -引导-第二个高级选项 -勾选调试-勾选调试窗口-选择COM1;-确认-重新启动-启动的时候选择下面的调试系统
来到自己电脑系统搜索windbg
发送到桌面快捷方式 -打开-在File-Kernel Debugging
方法一:菜单配置法
-COM-Pipe勾选-Reconnect勾选 -Port 对应上你刚刚取得名字\.\pipe\abc123-确定-然后等待连接就可以了。
重启虚拟机-选择调试虚拟机-windbg里面点一下中断
这样子就连上了
让他运行起来 Kd 输入行里面输入g 回车 就运行起来了(不然虚拟机是一直卡着的状态)
方法二:windbg 双机调试
-b -k com:pipe,port=\.\pipe\abc123,resets=0,reconnect -y (-b前面还有一个空格)
Windbg -属性 目标-把路径复制出来,把参数加上
“D:\Windows Kits\10\Debuggers\x64\windbg.exe” -b -k com:pipe,port=\.\pipe\abc123,resets=0,reconnect -y (名字要和你取得名字对应上)
然后复制进目标路径里面-应用-确定
重新启动虚拟机 -让他运行起来 Kd 输入行里面输入g 回车 就运行起来了(不然虚拟机是一直卡着的状态)
二、备份源码方法
通过修改资源文件来备份代码
修改工具 Notepad
驱动源文件资源修改
复制一份文件,改成最新名称
.vcxproj .vcxproj.user .vcxproj.filters 修改这三种后缀的名字为新名称
D0019-20.vcxproj这个后缀的文件用 Notepad 打开 找到关键字
去把他全部替换成最新的名字即可-保存
项目里面添加现有项目-选择这个文件添加进去即可-生成一下看看是否生成成功,成功说明就改好了。
通过修改资源文件来备份代码
修改工具 Notepad
MFC源码文件资源修改
复制一份文件,改成最新名称
.vcxproj .vcxproj.user .vcxproj.filters .rc 修改这四种后缀的名字为新名称
res文件夹下的 .rc2 文件改成新名称
[D0019-20MFC.rc]这个后缀的文件用 Notepad 打开 找到关键字
去把他全部替换成最新的名字即可-保存
D0019_20MFC.vcxproj这个后缀的文件用 Notepad 打开 找到关键字
去把他全部替换成最新的名字即可-保存
项目里面添加现有项目-选择这个文件添加进去即可-生成一下看看是否生成成功,成功说明就改好了。
三、WinDbg不显示调试信息原因分析
虚拟机中加载驱动-WinDbg调试信息,解决方法在虚拟机里面也开启调试工具进行监控
(Dbgview)WinDbg就会显示信息 了,原因可能是WinDbg自身的原因
解决后的截图
四、分析对进程名进行保护代码蓝屏原因
#define DbgBreakPoint __debugbreak
windbg的使用和常用命令
https://www.cnblogs.com/zrhai/p/3881431.html
windbg的使用和常用命令
https://www.cnblogs.com/yilang/p/11459091.html
windbg的使用和常用命令
https://blog.csdn.net/chenyujing1234/article/details/7743460
windbg的使用和常用命令
https://blog.csdn.net/qwertyupoiuytr/article/details/53999563
WinDbg常用指令
T 指令单步执行
g继续
标准命令:
控制调试目标:g/t/p(stepover)
返回上一层
- 其它命令bl bc bd be .bpcmds
bl 列举所有断点和它们的状态
bc 删除对应断点
bd 禁用对应断点
be 启用对应断点
.bmcmds 列举所有断点以及创建它们的命令