VMware+win10内核调试win7

——-WIN7 X64——-

本地内核调试

win7设置:

1、开启debug模式:管理员cmd界面输入


bcdedit /bootdebug ON
bcdedit /debug ON
bcdedit /dbgsettings serial baudrate:115200 debugport:1
bcdedit /copy {current} /d DebugEntry
::会返回一个字符串,用在下面两个地方
bcdedit /displayorder {current} {字符串}
bcdedit /debug {字符串} ON

重启系统选择debug模式进入

2、设置windbg的符号路径:(以下3种方式都可以)

(1)在windbg的file->symbols file path里填写下面的路径


srv*c:\symbols*http://msdl.microsoft.com/download/symbols
::C:\symbols为要保存的符号位置,可以更改,不建议更改,关闭前勾选reload

(2)在win7的环境变量里添加:我的电脑右键属性->高级系统设置,环境变量,增加:


变量名: _NT_SYMBOL_PATH 
路径:srv*c:\symbols*http://msdl.microsoft.com/download/symbols

(3)在运行起来的windbg命令窗口输入


.sympath srv*c:\symbols*http://msdl.microsoft.com/download/symbols
::不要忘记.
.reload

3、运行debug:file->Kernel Debug->Local确定即可

可能出现的问题:

(1)提示只有windows XP才能调试

错误的用x86来调试x64的系统,更换为x64的windbg即可,网上的汉化版基本都是x86的,注意区分

基于虚拟机双机内核调试

为便于区分,以win10主机为例

1、win7设置同本地内核调试,关闭win7虚拟机,硬件配置里先移除打印机,之后添加串行端口,使用命名管道:\.\pipe\com_1
该端是服务器,另一端是应用程序

注:关闭虚拟机才可修改,挂起状态不属于关闭

2、设置windbg连接虚拟机,直接创建x64版本windbg的快捷方式,设置属性:


C:\Users\AlunX\Desktop\WinDbg(x64)\windbg.exe -b -k com:pipe,port=\\.\pipe\com_1,baud=115200,reconnect -y C:\symbols
::一定不要用srv*c:\symbols*http://msdl.microsoft.com/download/symbols,很多博客表示可以直接用
::此为符号文件路径代替C:\symbols,但是会出现问题,此方法从服务器下载的pdb文件并不是适配win7,而是
::适配win10主机,会导致无法找到符号表

3、解决符号表问题:
将x64的文件夹考到虚拟机里,cmd到该软件文件夹,输入如下命令下载需要用到的符号表


symchk.exe c:\windows\syswow64\ntoskrnl.exe /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols
::下载内核相关符号表

将下载好的文件从虚拟机复制到win10主机的C:/symbols

4、启动虚拟机,等开机后打开windbg,如果仍出现缺少ntkrnlmp.pdb的情况输入.reload即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值