|
|
|
|
|
|
|
Windows内核调试
帖子发起人: Forward 发起时间: 2009-12-23 11:09 上午 回复: 8
|
帖子排序:
|
|
|
|
2009-12-23, 11:09 上午
|
Forward
注册: 2009-12-23
发 贴: 50
|
|
|
在看《软件调试》这本书时,总是遇到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 上午
|
Forward
注册: 2009-12-23
发 贴: 50
|
|
|
补充一点,我在启动内核调试的时候,有这样的提示
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 上午
|
Forward
注册: 2009-12-23
发 贴: 50
|
|
|
再补充下,授之以鱼,不如授之以渔。
如果能解释了这个问题的原因,固然好。
再能告诉我在哪去查详细的资料,那就太完美了,不然以后又碰见这样不按“套路”出牌的情况我就又要麻烦大家了。
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-12-23, 19:22 下午
|
compiler
注册: 2008-04-22
发 贴: 21
|
|
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-12-24, 11:08 上午
|
MJ0011
注册: 2008-04-24
发 贴: 112
|
|
|
你是用local kernel debugger?
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-12-24, 18:00 下午
|
Forward
注册: 2009-12-23
发 贴: 50
|
|
|
是的,我使用的是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
注册: 2008-04-24
发 贴: 112
|
|
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-12-25, 15:33 下午
|
Forward
注册: 2009-12-23
发 贴: 50
|
|
|
我把所有的杀毒软件,全部关闭了,但是还不行。
我看了进程,发现NOD32krn没有关闭。我在任务管理器里关闭不了他,怎么关闭呢?
还想多问句,楼上怎么得出的判断?依据是什么呢?
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-01-16, 19:27 下午
|
sctianhu
注册: 2010-01-14
发 贴: 7
|
|
|
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: 如何查找错误提示的详细解释呢?
|
|
|
|
|
|