按照 WinDBG双机调试之Vista Boot Config 设置 的说明,我配置好了虚拟机上系统的串口通讯以及新的引导启动项详细参考 Driver Debugging with WinDbg and VMWare 。然后在Host中装上WinDbg,修改其在桌面的快捷方式启动选项:
windbg -b -k com:pipe,port=\\.\pipe\com_1,resets=0
启动之后,WinDbg显示如下界面:
错误在与Symbol File path 的路劲不对。搜索了一下,在百度空间上找到一篇文章说:
如果你在使用WinDbg调试诸如notepad.exe之类的程序,并且OS是Windows Server 2003, Windows XP, 或者Windows 2000, 也可以使用Microsoft Symbol Server而非手工下载。
Microsoft Symbol Server是微软的调试符号服务器,如果你指定其作为Symbol File Path,那么在缺少相关的系统Symbol时,WinDbg将自动去该服务器下载。
下面是个例子:
在WinDbg中File > Symbol File Path 或者(CTRL+S)并输入
SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols
其中 c:\websymbols指定符号文件将被下载到C盘的 websymbols文件夹下面,你也可以指定其他任意路径(甚至可以是一个网络UNC路径)
除了上面介绍的方法,你还可以通过增加如下环境变量来实现之
变量名:_NT_SYMBOL_PATH
变量值:SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols
这样再WinDbg开始调试程序时会自动把SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols拷贝到Symbol File Path
值得注意的是: Microsoft Symbols Server并不支持Vista。
原文见http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx#a ,如下:
Microsoft provides access to an Internet symbol server that contains symbol files for the Microsoft Windows Server 2003, Windows XP, and Windows 2000 operating systems
所以我即使按照上面的配置,也出现了错误,后来我到微软上面下载了Symbol packets安装在本地机子上,然后指定了Symbol file path,还是不行。我不知道这个路径如果不对,对于调试有什么影响(初学),关键的是,我配置好的Vista好像在调试模式下不能很好的启动,我试过很多次,只有一次成功进入桌面,好多次都是卡死在半路。估计这种调试方式要泡汤了。以前我写驱动的时候都是用DebugView来查看执行过程的,看来这种方法将继续使用。除非我找到了配置的方法。我在想是不是跟Vista的版本有关呢,我用的 是Business版本,下的Symbol packets也是说适合Vista的,不是像Vista Sp2或者SP1的。
- 大小: 150.5 KB
分享到:
相关推荐
总之,通过以上步骤,我们能够在VMware环境下成功配置Windbg进行驱动调试。调试过程中,熟练掌握Windbg的各种命令和功能,结合源代码分析,将有助于我们定位和解决驱动程序中的问题,提升软件开发的质量和效率。
**内核调试**主要用于调试驱动程序、分析操作系统内核结构等问题。通常,内核调试需要两台物理计算机:一台作为**主机**(运行WinDbg),另一台作为**目标机**(运行待调试的程序或系统)。这两台计算机可以通过不同的...
这要求开发者熟练配置调试环境,包括Windbg和Vmware,以便对驱动程序进行单步跟踪和断点调试。在某些情况下,还需要处理特定的编译问题,例如在Vista下编译VirtualWiFi可能遇到的问题。 驱动程序设计中,INF文件的...
- **WinDBG**:一种广泛使用的调试工具,可以用来调试用户模式和内核模式的应用程序。 - **VMware**:虚拟化平台,常用于模拟不同环境下的测试和调试场景。结合WinDBG,可以在VMware虚拟机中设置断点,跟踪内核代码...
1.3.1 下载和安装WinDbg 9 1.3.2 设置Windows XP调试执行 9 1.3.3 设置Vista调试执行 10 1.3.4 设置VMware的管道虚拟串口 11 1.3.5 设置Windows内核符号表 12 1.3.6 实战调试first 13 第2章 内核编程环境及其...
1.3.1 下载和安装WinDbg 9 1.3.2 设置Windows XP调试执行 9 1.3.3 设置Vista调试执行 10 1.3.4 设置VMware的管道虚拟串口 11 1.3.5 设置Windows内核符号表 12 1.3.6 实战调试first 13 第2章 内核编程环境及其...
1.3.3 设置Vista调试执行 11 1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 ...
1.3.3 设置Vista调试执行 11 1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 ...
1.3.3 设置Vista调试执行 11 1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 ...
1.3.3 设置Vista调试执行 11 1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 ...
1.3.3 设置Vista调试执行 11 1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 ...
1.3.3 设置Vista调试执行 11 1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 ...
1.3.3 设置Vista调试执行 11 1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 ...
8.2.3 设置VMWare虚拟机调试 104 8.2.4 设置被调试机为Vista的情况 105 8.2.5 设置Windows内核符号表 106 8.2.6 调试例子diskperf 106 8.3 认识内核代码函数调用方式 107 8.4 尝试反写C内核代码 111 ...
8.2.3 设置VMWare虚拟机调试 104 8.2.4 设置被调试机为Vista的情况 105 8.2.5 设置Windows内核符号表 106 8.2.6 调试例子diskperf 106 8.3 认识内核代码函数调用方式 107 8.4 尝试反写C内核代码 111 ...
8.2.3 设置VMWare虚拟机调试 104 8.2.4 设置被调试机为Vista的情况 105 8.2.5 设置Windows内核符号表 106 8.2.6 调试例子diskperf 106 8.3 认识内核代码函数调用方式 107 8.4 尝试反写C内核代码 111 ...