在WinDbg中调试devenv.exe内存转储

时间:2015-01-09 18:17:08

标签: .net visual-studio-2013 windbg

我试图查看导致我的Visual Studio 2013实例在我编码时一直挂起的原因。我注意到,当它挂起时,它在挂起期间在任务管理器中使用1-3%的CPU,所以我转储了devenv.exe,在任务中标记为32位进程(* 32)经理。当我在32位版本的WinDbg中打开它并运行.effmach时,我得到:

0:000> .effmach
Effective machine: x64 (AMD64)

当我尝试加载CLR调试扩展时,我得到:

0:000> .loadby sos clr
The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos) failed, Win32 error 0n193
    "%1 is not a valid Win32 application."
Please check your debugger configuration and/or network access.

为了笑容,我用WinDbg 64位打开转储并尝试以下操作:

0:000> .effmach
Effective machine: x64 (AMD64)
0:000> .loadby sos clr
0:000> !threads
SOS does not support the current target architecture.

就像我在岩石和硬地之间陷入困境,无法调试为32位或64位。我的问题是有谁知道我应该使用哪个版本的WinDbg,32位或64位,以及可以使用哪些扩展来调试devenv.exe进程?

我也试过psscor4:

0:000> .load c:\debugging\extensions\psscor4\x86\psscor4.dll
0:000> !clrstack
SOS does not support the current target architecture.

WinDbg版本为6.3.9600.16384

1 个答案:

答案 0 :(得分:5)

\Windows\SysWOW64中有32位版本的任务管理器。如果您使用它而不是默认值,您将获得正确的32位转储。