我是司机的新东西。 我试图使用串行COM端口debugging内核驱动程序,但没有成功。 有人能告诉我如何解决这个问题的正确方向吗?
我在kd控制台上看到以下消息。
错误:DavReadRegistryValues / RegQueryValueExW(4)。 WStatus = 127
错误:DavReadRegistryValues / RegQueryValueExW(5)。 WStatus = 127
错误:DavReadRegistryValues / RegQueryValueExW(6)。 WStatus = 127
在这个时候,我按了Ctl ^ D和Kd控制台,我正在看
阅读:超时。
阅读:等待types7的数据包
阅读:超时。
阅读:等待types7的数据包
阅读:超时。
编辑:问题是用WinDbg修复的。 我将波特率更改为115200,并在目标系统启动之前插入中断(Ctr ^ Break)。 我现在可以debugging代码了。 如果在目标系统完全启动后插入中断,则无法debugging。 我不知道确切的原因,但与目前的情况感到高兴。
Here are the things I have done
1)通过编辑boot.ini文件,为debugging模式准备目标系统。 在boot.ini中添加了“/ debugport = com1 / baudrate = 57600” 2)在主机系统上,启动kd.exe并看到以下输出 C:\ Program Files \ Debugging Tools for Windows> kd.exe -k com:port = 1,baud = 57600 Microsoft(R)Windowsdebugging器版本6.6.0007.5 版权所有(c)微软公司。 版权所有。 打开\\。\ com1 正在等待重新连接... 3)重新启动目标系统,系统启动比正常启动慢,我在主机系统控制台上看到一些消息<<下面>> 4)此时,如果我在KD控制台上按Ctl-C,则目标系统冻结(挂起),如果在kd提示符下input“g”,则继续。 这意味着Target系统正在进入debugging模式 5)然而,一段时间后,我在主机控制台上看到以下消息 错误:DavReadRegistryValues / RegQueryValueExW(4)。 WStatus = 127 错误:DavReadRegistryValues / RegQueryValueExW(5)。 WStatus = 127 错误:DavReadRegistryValues / RegQueryValueExW(6)。 WStatus = 127 在上述消息之后,在kd控制台上没有消息出现。 我在网上search“错误:DavReadRegistryValues / RegQueryValueExW(6)。WStatus = 127”,但没有得到正确的理由。 我按了Ctl ^ D和Kd控制台,我正在看 阅读:超时。 阅读:等待types7的数据包 阅读:超时。 阅读:等待types7的数据包 阅读:超时。 我已经尝试了以下步骤,但没有运气 我在主机和目标系统上都禁用了防火墙和防病毒软件。 我拔下并重新插入每个线索之间的串行电缆连接 我已经使用具有pipe理权限的域帐户本地帐户login 有人可以展示一些如何进行? 这两个系统都在XP 32位SP3操作系统上运行。
感谢国王
你确定你有一个很好的串行连接?
电缆必须是零调制解调器电缆 – 您应该使用终端程序(目标上没有启用内核调试)来验证。 在目标机和主机上运行程序(HyperTerminal或其他)(记住,就像我之前所说的那样,不能在目标上启用内核调试或者端口不能打开)。
你可以找到一些免费的终端程序的链接(我不认为微软自Vista以来提供了超级终端): http : //www.lvr.com/serport.htm#software
在一台机器上键入一些字符,并确保它们显示在另一边。 在另一台机器上做同样的事情。
如果你不能这样做,那么没有串行连接,你必须得到一个零调制解调器电缆或适配器。 尝试让KD在这个连接上工作是没有意义的,直到你能做到这一点。
此外,请记住目标上的内核调试使用的COM端口必须是标准的8250系列UART(通常现在是16550或更高,通常烘焙到主板芯片组)。 它不能是一个USB串行端口连接器(虽然这种类型可以在主机端正常工作,因为在主机kd.exe是一个普通的Win32程序)。
编辑:
如果不是串行连接问题,则问题可能是您的目标不支持使用boot.ini
配置。 自Vista以来,引导参数已经通过使用像bcdedit.exe
这样的程序进行操作的“引导配置数据库”(BCD)来bcdedit.exe
。 不幸的是,使用BCDedit配置系统要比编辑像boot.ini
这样简单的文本文件复杂得多。
您应该阅读调试器帮助文件“在目标计算机上配置软件”部分; 特别是“使用引导参数”部分。 有关于如何使用bcdedit在Vista和更高版本的系统上启用调试的详细信息。
另一件事你可以测试看是否在目标上进行调试是在目标上调用kd -kl – 如果它告诉你没有启用调试,那么你没有正确设置boot.ini。