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

Jac*_*ace 2 .net windbg visual-studio-2013

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

0:000> .effmach
Effective machine: x64 (AMD64)
Run Code Online (Sandbox Code Playgroud)

当我尝试加载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.
Run Code Online (Sandbox Code Playgroud)

只是为了笑容我用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.
Run Code Online (Sandbox Code Playgroud)

这就像我陷入了摇滚和硬地之间,无法调试为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.
Run Code Online (Sandbox Code Playgroud)

WinDbg版本是6.3.9600.16384

Bri*_*sen 5

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