Windbg工作得这么慢?

时间:2012-02-15 07:30:44

标签: debugging windbg

This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(10e0.cd8): Wake debugger - code 80000007 (first/second chance not available)
eax=7c9bc668 ebx=00000000 ecx=00000000 edx=7c9bc080 esi=00000198 edi=00000000
eip=7c95847c esp=0006fc0c ebp=0006fc7c iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246
ntdll!KiFastSystemCallRet:
7c95847c c3              ret
0:000> .ecxr
eax=7c9bc668 ebx=00000000 ecx=00000000 edx=7c9bc080 esi=00000198 edi=00000000
eip=7c95847c esp=0006fc0c ebp=0006fc7c iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246
ntdll!KiFastSystemCallRet:
7c95847c c3              ret
0:000> kb
  *** Stack trace for last set context - .thread/.cxr resets it
ChildEBP RetAddr  Args to Child              
0006fc08 7c957b99 7c821d1e 00000198 00000000 ntdll!KiFastSystemCallRet
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for kernel32.dll - 
0006fc0c 7c821d1e 00000198 00000000 00000000 ntdll!ZwWaitForSingleObject+0xc
WARNING: Stack unwind information not available. Following frames may be wrong.
0006fc7c 7c821c8d 00000198 ffffffff 00000000 kernel32!WaitForSingleObjectEx+0x88
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for w3dt.dll - 
0006fc90 5a604692 00000198 ffffffff 00000000 kernel32!WaitForSingleObject+0x12
*** ERROR: Module load completed but symbols could not be loaded for w3wp.exe
0006ff0c 0100187c 00000007 002e3bd8 00000000 w3dt!IPM_MESSAGE_PIPE::operator=+0x1b31
0006ff44 01001a27 00000007 002e3bd8 002e46d8 w3wp+0x187c
0006ffc0 7c82f23b 00000000 00000000 7ffdf000 w3wp+0x1a27
0006fff0 00000000 010018f8 00000000 78746341 kernel32!ProcessIdToSessionId+0x209

加载符号......然后等待....使用common命令,比如'!threads', 它的工作原理如此缓慢,这是kb的结果,如何解决这个问题?

等待了很长时间,它显示:

0:000> .load sos
0:000> !threadpool
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for mscorwks.dll - 
PDB symbol for mscorwks.dll not loaded
Failed to load data access DLL, 0x80004005
Verify that 1) you have a recent build of the debugger (6.2.14 or newer)
            2) the file mscordacwks.dll that matches your version of mscorwks.dll is 
                in the version directory
            3) or, if you are debugging a dump file, verify that the file 
                mscordacwks_<arch>_<arch>_<version>.dll is on your symbol path.
            4) you are debugging on the same architecture as the dump file.
            For example, an IA64 dump file must be debugged on an IA64
            machine.

You can also run the debugger command .cordll to control the debugger's
load of mscordacwks.dll.  .cordll -ve -u -l will do a verbose reload.
If that succeeds, the SOS command should work on retry.

If you are debugging a minidump, you need to make sure that your executable
path is pointing to mscorwks.dll as well.

那么问题是什么?

2 个答案:

答案 0 :(得分:1)

您的互联网连接速度慢吗?

如果没有本地可用的话,WinDBG会从Mircosoft的网站上获取一些符号图像。一旦因为我的网络连接速度缓慢而加载一些符号时,windbg几乎冻结了,我就会发生这种情况。

答案 1 :(得分:1)

好吧,windbg很慢。期间:)

您可以尝试使用本地符号,但如果您正在使用MS符号服务器,请准备好进行一些缓慢的调试。