Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: Forward   发起时间: 2009-12-23 11:09 上午   回复: 8

Print Search
帖子排序:    
   2009-12-23, 11:09 上午
wbdwbd04 离线,最后访问时间: 2011/6/7 7:59:42 Forward

发帖数前25位
注册: 2009-12-23
发 贴: 50
如何查找错误提示的详细解释呢?
Reply Quote
在看《软件调试》这本书时,总是遇到Windbg不按套路出牌的情况。

比如在书中调用!idt 2e会出现2e: 804db1ed NT!KiSystemService。
而我调用!idt 2e却提示Unable to read selector for PCR for processor 0。

还有很多这样的地方,我想知道这是什么原因引起的呢?
我查阅了WinDbg自带的文档,只知道PCR可能是进程控制注册项。为什么要读取他的选择子。就不明白了。

我觉得WinDbg给的提示太少了,只是个提纲的作用,在哪里能找到详细点的解释呢?我查过MSDN也没有查到。百度也没有
IP 地址: 已记录   报告
   2009-12-23, 11:12 上午
wbdwbd04 离线,最后访问时间: 2011/6/7 7:59:42 Forward

发帖数前25位
注册: 2009-12-23
发 贴: 50
Re: 如何查找错误提示的详细解释呢?
Reply Quote
补充一点,我在启动内核调试的时候,有这样的提示
Connected to Windows XP 2600 x86 compatible target at (Wed Dec 23 10:44:10.812 2009 (GMT+8)), ptr64 FALSE
Symbol search path is: C:\Symbols
Executable search path is:
Unable to read selector for PCR for processor 0
*******************************************************************************
WARNING: Local kernel debugging requires booting with kernel
debugging support (/debug or bcdedit -debug on) to work optimally.
*******************************************************************************
Windows XP Kernel Version 2600 (Service Pack 3) MP (2 procs) Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp3_qfe.090206-1316
Machine Name:
Kernel base = 0x804d8000 PsLoadedModuleList = 0x805644c0
Debug session time: Wed Dec 23 10:44:10.968 2009 (GMT+8)
System Uptime: 0 days 2:27:52.553
IP 地址: 已记录   报告
   2009-12-23, 11:15 上午
wbdwbd04 离线,最后访问时间: 2011/6/7 7:59:42 Forward

发帖数前25位
注册: 2009-12-23
发 贴: 50
Re: 如何查找错误提示的详细解释呢?
Reply Quote
再补充下,授之以鱼,不如授之以渔。

如果能解释了这个问题的原因,固然好。

再能告诉我在哪去查详细的资料,那就太完美了,不然以后又碰见这样不按“套路”出牌的情况我就又要麻烦大家了。
IP 地址: 已记录   报告
   2009-12-23, 19:22 下午
compiler 离线,最后访问时间: 2011/8/11 15:19:46 compiler

发帖数前50位
注册: 2008-04-22
发 贴: 21
Re: 如何查找错误提示的详细解释呢?
Reply Quote
没有符号吧
IP 地址: 已记录   报告
   2009-12-24, 11:08 上午
MJ0011 离线,最后访问时间: 2009/12/24 22:33:41 MJ0011

发帖数前10位
注册: 2008-04-24
发 贴: 112
Re: 如何查找错误提示的详细解释呢?
Reply Quote
你是用local kernel debugger?
IP 地址: 已记录   报告
   2009-12-24, 18:00 下午
wbdwbd04 离线,最后访问时间: 2011/6/7 7:59:42 Forward

发帖数前25位
注册: 2009-12-23
发 贴: 50
Re: 如何查找错误提示的详细解释呢?
Reply Quote
是的,我使用的是local kernel debugger模式。有关系吗?

我觉得不是符号的问题。符号我设置了符号表服务器,也调试过很多程序,应该没问题。

我觉得这句话有点意思

WARNING: Local kernel debugging requires booting with kernel
debugging support (/debug or bcdedit -debug on) to work optimally.
IP 地址: 已记录   报告
   2009-12-24, 22:34 下午
MJ0011 离线,最后访问时间: 2009/12/24 22:33:41 MJ0011

发帖数前10位
注册: 2008-04-24
发 贴: 112
Re: 如何查找错误提示的详细解释呢?
Reply Quote
呵呵你这个应该是被安全软件拦截了。
IP 地址: 已记录   报告
   2009-12-25, 15:33 下午
wbdwbd04 离线,最后访问时间: 2011/6/7 7:59:42 Forward

发帖数前25位
注册: 2009-12-23
发 贴: 50
Re: 如何查找错误提示的详细解释呢?
Reply Quote
我把所有的杀毒软件,全部关闭了,但是还不行。

我看了进程,发现NOD32krn没有关闭。我在任务管理器里关闭不了他,怎么关闭呢?

还想多问句,楼上怎么得出的判断?依据是什么呢?
IP 地址: 已记录   报告
   2010-01-16, 19:27 下午
sctianhu 离线,最后访问时间: 2010/1/22 0:39:42 sctianhu

发帖数前150位
注册: 2010-01-14
发 贴: 7
Re: 如何查找错误提示的详细解释呢?
Reply Quote
WARNING: Local kernel debugging requires booting with kernel
debugging support (/debug or bcdedit -debug on) to work optimally.

从这里看 是否是你目标调试机的windows操作系统启动模式不对哦,目标操作系统应该是调试模式在运行!
需要修改启动参数。(/debug or bcdedit -debug on)像这提示的一样,
IBM内存详解: http://www.ibm.com/developerworks/cn/java/j-nativememory-linux/
IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » Re: 如何查找错误提示的详细解释呢?

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.