WinDebug 虚拟机
来源:互联网 发布:单片机外部中断程序 编辑:程序博客网 时间:2024/06/05 00:17
现在一直在做有关Windows驱动开发的工作,驱动开发非常重要的一环是驱动的调试。对于Windebug结合虚拟机的双机驱动调试,其配置还是小有点麻烦的。虽然原先自己配置的时候,都成功了,而且也进行了很多的开发和调试。但某一天再来设置这些东西的时候,却发现出了问题,甚至去网上找的一些资料也没有用。现在把自己调试驱动时的切身体会写下来,一方面自己以后也可以看看,也给广大初入门的朋友做以参考。
一、调试环境的安装
(1)安装虚拟机(VM)及Windows XP系统
(2)安装WinDebug
二、配置调试环境
(1)在WinDebug的快捷方式上添加: -k com:port=\\.\pipe\com_1,baud=115200,pipe。
例如我的主 机上 Windebug快捷方式设置以后如下: "C:\Program Files\Debugging Tools
for Windows (x86)\windbg.exe" -k com:port=\\.\pipe\com_1,baud=115200,pipe
(2)在虚拟机中,添加一个串行端口
点击 "Edit virtual machine settings",添加一个Serial Port,选择"Output to named pipe",然后下一步
第一框里保持默认的 ""
第二框里选"This end is the server."
第三框里选"The other end is an application."
选中 "Connect at power on"
然后点击 "Finish然后在新窗口中选中 "Yield CPU on poll"。保存退出。
(3)启动虚拟机的系统,在其C盘根目录下的boot.ini文件中添加一个系统启动项(用于调试):
[boot loader]
timeout=30
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
Debug" /fastdetect /debug /debugport=com1 /baudrate=115200
这里一定要注意,不要将系统启动项弄错了。[operating systems]下的第一行为原来的系统启动
下;而2-3行为我们新添加的调试启动项,这在虚拟机系统重新启动后,就可以看到系统新加了一
个启动项。
(4)配置Windebug
然后打开windebug等待连接。进入调试模式,我们可以看到windebug已经与系统连接完毕。
配置windebug,主要是符号文件一类,通用的方法如下:
WinDbg->菜单->File->Symbol File Path->,输入如下:
“C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols"
(按照这样设置,WinDbg将先从本地文件夹C:\MyCodesSymbols中查找Symbol,如果找不到,则
自动从MS的Symbol Server上下载Symbols);这里MyCodeSymbols是存放我们编译的驱动程序有
光的符号文件,通常我们把驱动工程编译完成后(用check版本,否则不能调试的)的如下文件:
H:\MyDriver\objchk_wxp_x86\i386放入该文件夹下;另外也可以不要C:\MyCodesSymbols文
件,直接在WinDbg->菜单->File->Symbol File Path->中输入H:\MyDriver\objchk_wxp_x86\i386即
可,然后选择reload即可。后面就可以进行调试了。
一、调试环境的安装
(1)安装虚拟机(VM)及Windows XP系统
(2)安装WinDebug
二、配置调试环境
(1)在WinDebug的快捷方式上添加: -k com:port=\\.\pipe\com_1,baud=115200,pipe。
例如我的主 机上 Windebug快捷方式设置以后如下: "C:\Program Files\Debugging Tools
for Windows (x86)\windbg.exe" -k com:port=\\.\pipe\com_1,baud=115200,pipe
(2)在虚拟机中,添加一个串行端口
点击 "Edit virtual machine settings",添加一个Serial Port,选择"Output to named pipe",然后下一步
第一框里保持默认的 ""
第二框里选"This end is the server."
第三框里选"The other end is an application."
选中 "Connect at power on"
然后点击 "Finish然后在新窗口中选中 "Yield CPU on poll"。保存退出。
(3)启动虚拟机的系统,在其C盘根目录下的boot.ini文件中添加一个系统启动项(用于调试):
[boot loader]
timeout=30
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
Debug" /fastdetect /debug /debugport=com1 /baudrate=115200
这里一定要注意,不要将系统启动项弄错了。[operating systems]下的第一行为原来的系统启动
下;而2-3行为我们新添加的调试启动项,这在虚拟机系统重新启动后,就可以看到系统新加了一
个启动项。
(4)配置Windebug
然后打开windebug等待连接。进入调试模式,我们可以看到windebug已经与系统连接完毕。
配置windebug,主要是符号文件一类,通用的方法如下:
WinDbg->菜单->File->Symbol File Path->,输入如下:
“C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols"
(按照这样设置,WinDbg将先从本地文件夹C:\MyCodesSymbols中查找Symbol,如果找不到,则
自动从MS的Symbol Server上下载Symbols);这里MyCodeSymbols是存放我们编译的驱动程序有
光的符号文件,通常我们把驱动工程编译完成后(用check版本,否则不能调试的)的如下文件:
H:\MyDriver\objchk_wxp_x86\i386放入该文件夹下;另外也可以不要C:\MyCodesSymbols文
件,直接在WinDbg->菜单->File->Symbol File Path->中输入H:\MyDriver\objchk_wxp_x86\i386即
可,然后选择reload即可。后面就可以进行调试了。
0 0
- WinDebug 虚拟机
- Windebug
- windebug调试VMware里的虚拟机问题错误
- WinDebug相关
- WinDebug dump
- windebug windows 蓝屏工具
- windebug使用知识汇集
- windebug调试基本命令
- WinDebug 配置 调试 设置
- Windebug的一个缺点
- windebug 指令详解
- WinDebug双机调试
- WinDebug查找内存泄露
- windebug查看KeServiceDescriptorTable
- windebug路径设置
- WinDebug 常用命令表【摘】
- WinDebug查找内存泄露
- Windebug配合VWmare调试系统
- 蓝屏设置
- opencv 检测鼠标的点击和移动
- C++ 应用程序性能优化:内存池
- 多线程——Task
- Jquery操作radio,checkbox,select表单操作实现代码
- WinDebug 虚拟机
- Android App层通过JNI从驱动获取Input Event
- Linux下的tar压缩解压缩命令详解
- TLS--线程局部存储
- 飞思卡尔i.MX 6Quad Android 4.2.2的LVDS屏幕驱动移植
- 行人检测Experiment中关于行人的标准
- 初涉关于精确覆盖的DLX
- poj-1287 最小生成树
- [每天一个知识点]12-Maven怎么读