正学着写WDK程序。。在windows XP 调试模式运行得好好的。。改到正常模式马上蓝屏。。
我用windbg打开后信息如下:(请高手们看下问题出在哪,rookit.sys正是我写的程序);
Loading Dump File [C:\Users\Rookit\Desktop\Mini031410-05.dmp]
Mini Kernel Dump File: Only registers and stack trace are availableSymbol search path is: F:\symbols
Executable search path is: 
Unable to load image ntoskrnl.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
Windows XP Kernel Version 2600 (Service Pack 3) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Machine Name:
Kernel base = 0x804d8000 PsLoadedModuleList = 0x80554fc0
Debug session time: Sun Mar 14 19:56:59.109 2010 (UTC + 8:00)
System Uptime: 0 days 0:00:29.671
Unable to load image ntoskrnl.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
Loading Kernel Symbols
...............................................................
.......................................................
Loading User Symbols
Loading unloaded module list
...
The call to LoadLibrary(ext) failed, Win32 error 0n2
    "系统找不到指定的文件。"
Please check your debugger configuration and/or network access.
The call to LoadLibrary(exts) failed, Win32 error 0n2
    "系统找不到指定的文件。"
Please check your debugger configuration and/or network access.
The call to LoadLibrary(kext) failed, Win32 error 0n2
    "系统找不到指定的文件。"
Please check your debugger configuration and/or network access.
The call to LoadLibrary(kdexts) failed, Win32 error 0n2
    "系统找不到指定的文件。"
Please check your debugger configuration and/or network access.
Unable to load image rookit.sys, Win32 error 0n2
*** WARNING: Unable to verify timestamp for rookit.sys
*** ERROR: Module load completed but symbols could not be loaded for rookit.sys

解决方案 »

  1.   

    输入!analyze -v   查看堆栈信息。然后你把堆栈信息发下。
      

  2.   

    1.  这个dump是mini dump,基本没用,minidump含的信息基本不够用
    2. 你遇到的错误和dump没有关系,而是windbg自己setup有问题,报错是指找不到windbg自己的dll
      

  3.   

    mini dump 还是可以看出一些东西的。输入!analyze -v后,弹出堆栈信息如下。
    则f65dfc10 f62856a8 82379c88 f62864a0 00000061 nt!sprintf+0x31这个就是出错的地方,然后去查找调用的地方检察下。这是我的一个dump,我只是举例。
    STACK_TEXT:  
    f65dfbd4 8053bf99 f65dfbf0 f62864a0 f65dfc20 nt!_output+0x64d
    f65dfc10 f62856a8 82379c88 f62864a0 00000061 nt!sprintf+0x31
    WARNING: Stack unwind information not available. Following frames may be wrong.
    f65dfc40 804f018f 82375030 82301638 806e7410 ctrl2cap+0x6a8
    f65dfc50 80580982 823017a4 82351028 82301638 nt!IopfCallDriver+0x31
    f65dfc64 805817f7 82375030 82301638 82351028 nt!IopSynchronousServiceTail+0x70
    f65dfd00 8057a274 0000001c 00000000 00000000 nt!IopXxxControlFile+0x5c5
    f65dfd34 8054261c 0000001c 00000000 00000000 nt!NtDeviceIoControlFile+0x2a
    f65dfd34 7c92e4f4 0000001c 00000000 00000000 nt!KiFastCallEntry+0xfc
    0012fb48 00000000 00000000 00000000 00000000 0x7c92e4f4
      

  4.   

    看到一个rootkit,干坏事哇~windbg重装一下看看。
      

  5.   

    晕倒,这种东西谁不知道啊,我是说除了出错的那个call stack之外,你基本无法得到有用的东西,而这个call stack是不足以找到问题原因的。不要说楼主这种根本不知道在哪个系统程序里出错(可能是驱动之类的,总之没有源码那种),即使以你这个call stack为例,复杂的程序(就算你有源码),sprintf的调用都有好几百处,你怎么可能根据这个找到答案。
      

  6.   

    而且你即使能找到严格的call stack,知道在哪个具体函数里的调用出错,你没有当前堆、栈信息,基本不可能有答案的,除非是非常非常简单的错误
      

  7.   

    我想说两点。
    第一:楼主是问怎么在他这个基础上查找原因。而他的是mini dump。第二:我只是说在这个基础上还是可以看到一些有用的东西。而不是说这样做就绝对能解决问题。因为他的是mini dump,至于你说“!analyze -v这个谁不知道啊”  你问楼主他知道吗?大家又不是来炫自己有多少能耐,而是解决问题。
      

  8.   

    俺就是楼主.俺确实连这命令(!analyze -v)都不知:
    现在输入后结果如下:
    kd> !analyze -v
    The call to LoadLibrary(ext) failed, Win32 error 0n2
        "系统找不到指定的文件。"
    Please check your debugger configuration and/or network access.
    The call to LoadLibrary(exts) failed, Win32 error 0n2
        "系统找不到指定的文件。"
    Please check your debugger configuration and/or network access.
    The call to LoadLibrary(kext) failed, Win32 error 0n2
        "系统找不到指定的文件。"
    Please check your debugger configuration and/or network access.
    The call to LoadLibrary(kdexts) failed, Win32 error 0n2
        "系统找不到指定的文件。"
    Please check your debugger configuration and/or network access.
    No export analyze found
      

  9.   

    1、装好WinDbg
    2、设置好Symbols路径,装个符号包
    3、最好不用MiniDump
    4、设置好源代码和编译出的pdb路径
    5、分析,查看调用堆栈和错误源码
      

  10.   

    你博客里面可以传图片,然后你粘贴到这里。或者直接mail:pencil#yeah.net