搭建基于虚拟机的Windows内核模式调式环境

目标:VM –>\\.\pipe\com_1(HOST) <--WinDbg/VS2012

利用PIPE实现VM和VM所在的HOST通讯,从而实现在HOST上安装的WinDbg程序能够调试VM操作系统。

http://msdn.microsoft.com/en-US/library/windows/hardware/jj200334(v=vs.85) ß设置HOST主机调试VM操作系统内核。

http://msdn.microsoft.com/en-US/windows/hardware/hh852360 Debugging Tools, Symbols, SDK & WDK.

基本步骤:

1、 HOST上安装VMware Player,并安装虚拟机guestOS,设置guestOS调试模式启动菜单,并指明调试端口为COM1:

win2k3一下如下图,更高版本:bcdedit /debug on bcdedit /dbgsettings serial debugport: n baudrate: 115200

2、 HOST上的VMware Player设置guestOSCOM1口输出到HOST\\.\pipe\com_1,并指明对端为Application:WinDbg

3、 HOST上安装WinDbg,快捷方式追加参数 -k com:port=\\.\pipe\com_1,baud=115200,pipe

4、 下载Symbols并安装C:\,设置环境变量并配置WINDBG后大功告成:

_NT_SYMBOL_PATH=c:\symbols*http://msdl.microsoft.com/download/symbols

WINDBGàFileàSymbol File Path: srv*c:\symbols*http://msdl.microsoft.com/download/symbols

5、 现在WINDBG是SDK和WDK的一部分,新版本的VS2012也可以作为内核调试器,详细见Debugging Using Visual Studio。有关KMDF(Kernel Mode Driver Framework)的相关资讯见Windows Driver –Windows 驱动程序入门

WINDBG

设置好环境变量的调试器成功连接后截图如下(如果你看不到调式端OS中断,按ctrl+break终端;按G键继续……)

image

原文地址:https://www.cnblogs.com/flaaash/p/3133052.html