1.安装Virtual Box虚拟机
官方网址:https://www.virtualbox.org/
在左边找到Downloads标签, 选择合适自己平台的安装包就行了(可比VMWare小多了).
这软件自带中文语言包, 且说是开源+免费软件, 所以不要到其它地方去找什么破解, 绿色之类, 搞得不好反倒弄一身的XX.
2.安装虚拟机操作系统
对于VBox安装虚拟机操作系统, 百度一下, 太多了...百度吧.
3.对虚拟机中的操作系统进行额外的设置
常规的设置,比如内存大小, 显存大小等, 请酌情分配就行.
3.1 对串口的支持设置(需要在关机的条件下设置)
注意管道的命名规则, 否则会创建失败.
3.2 在虚拟机和实机之间共享文件
第一种办法(目录共享):
3.3 修改操作系统配置文件以启动调试模式
在虚拟机中, 找到 C:\Windows\boot.ini(隐藏,只读),在最后加上一行:
1 |
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200 |
/debugport=com1就是上面创建的管道的命名后面的部分:\\.\pipe\com1,/baudrate=115200表示设置波特率(这个可以大点,速度快些,但不能随便乱设置)
/debug 表示启用调试
修改后大概是这样的:
1 2 3 4 5 6 |
[boot loader] timeout=5 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200 |
4. 配置Windbg进行调试
4.1 下载符号文件(如果没有)
1) 到http://msdn.microsoft.com搜索下载
2)到http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx
当然,也可以直接设置在Windebug 的Symbol 选项中“SRV*C:\WINDOWS\SYMBOLS.NET*http://msdl.microsoft.com/download/symbols;” 后面的其他PDB 文件的路径,用“;”隔开。
4.2 新建一批处理脚本文件(双机调试.bat)
内容如下:
1 2 3 4 5 6 7 8 9 10 |
@echo off ::调试Windbg的路径(有空格请加上双引号) set Windbg="I:\Dynamic Debug\WinDbg v6.11.0001.404 X86\windbg_EN.exe" ::设置命令行参数 ::其中com:port=\\.\pipe\com1是上面创建的管道. 波特率设置要一致 ::-y H:\Cache\symbols表示调试符号文件的路径 set Param=-b -k com:port=\\.\pipe\com1,baud=115200,pipe -y H:\Cache\symbols ::打开调试 start "" %Windbg% %Param% goto :eof |
保存后, 直接双击打开该bat脚本文件即可打开WinDbg并调试虚拟机(先要打开虚拟机并进入调试模式)
一开始虚拟机可能处理未响应状态(被调试), 按照上面的说明, 在下面的命令行中执行命令g即可继续.
之后通过共享文件的方式, 加载相应的驱动/程序, 通过手动下断点的方式进入调试:
在驱动中手动加入断点:
#if DBG
__asm int 3
#endif
即可使虚拟机挂起到调试状态了.
参考链接 http://www.cnblogs.com/nbsofer/archive/2013/01/02/2841513.html