设为首页 收藏本站
查看: 1416|回复: 0

[经验分享] VirtualBox+Windbg 进行双机调试的方法

[复制链接]

尚未签到

发表于 2015-4-14 06:47:34 | 显示全部楼层 |阅读模式
  以前见他们调试驱动程序之类的都是使用的VMWare, 我没怎么用这软件, 感觉这软件有点臃肿, 后台服务挂得太多了, 感觉不爽, 于是就没搞它.
加上电脑上很早就装有Oracle的Virtual Box, 于是就看了下, 其实Virtual Box也有支持串口设备, 按理说也可以用Windbg进行连接的. 一直觉得Virtual Box挺好用的.
既然写了这篇博客, 那就证明我确实已经成功地进行调试了.
  下面说下步骤吧(已经完成的就忽略吧):
  (如果图片显示不完整, 请在右键菜单中查看该图片)
1.安装Virtual Box虚拟机
  官方网址:https://www.virtualbox.org/
  在左边找到Downloads标签, 选择合适自己平台的安装包就行了(可比VMWare小多了).
  这软件自带中文语言包, 且说是开源+免费软件, 所以不要到其它地方去找什么破解, 绿色之类, 搞得不好反倒弄一身的XX.
2.安装虚拟机操作系统
  对于VBox安装虚拟机操作系统, 百度一下, 太多了...百度吧.
  我安装的操作系统是XP_SP3, 新手嘛, 还是从"低级"的东西慢慢学起.
3.对虚拟机中的操作系统进行额外的设置
  常规的设置,比如内存大小, 显存大小等, 请酌情分配就行.
  3.1 对串口的支持设置(需要在关机的条件下设置)
DSC0000.jpg
  注意管道的命名规则, 否则会创建失败.
DSC0001.jpg

  3.2 在虚拟机和实机之间共享文件
    第一种办法(目录共享):
DSC0002.jpg
DSC0003.jpg
DSC0004.jpg
DSC0005.jpg
  第二种办法(简单方便, 但貌似会使电脑出现拖放问题):
DSC0006.jpg

  3.3 修改操作系统配置文件以启动调试模式
  在虚拟机中, 找到 C:\Windows\boot.ini(隐藏,只读),在最后加上一行:
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 表示启用调试
  修改后大概是这样的:
[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
  重启虚拟机,  选择第2项启动菜单进入调试模式:
DSC0007.jpg

4. 配置Windbg进行调试
  4.1 下载符号文件(如果没有)
    1) 到http://msdn.microsoft.com搜索下载
    2)到http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx
    我下载的是Windows XP with Service Pack 3 x86 checked symbols, all languages (File size: 202 MB)
    自己按需下载吧.
  4.2 新建一批处理脚本文件(双机调试.bat)
  内容如下:



@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
  附图:
DSC0008.jpg
保存后, 直接双击打开该bat脚本文件即可打开WinDbg并调试虚拟机(先要打开虚拟机并进入调试模式)
DSC0009.jpg
  一开始虚拟机可能处理未响应状态(被调试), 按照上面的说明, 在下面的命令行中执行命令g即可继续.
之后通过共享文件的方式, 加载相应的驱动/程序, 通过手动下断点的方式进入调试:
  在驱动中手动加入断点:
  #if DBG
    __asm int 3
  #endif
即可使虚拟机挂起到调试状态了.
女孩不哭(QQ:191035066)@2013-01-02 10:34:47 http://www.iyunv.com/nbsofer

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-56842-1-1.html 上篇帖子: Win7 + VirtualBox安装Mac OS X雪豹操作系统图文详解[转] 下篇帖子: VirtualBox下安装RHEL5.5+Oracle 11g手记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表