我的一些应用程序出了问题.它是在Windows 2003 Server(x86)中的IIS6下运行的基于wcf的应用程序:
在事件日志中,我从"W3SVC-WP"源(EventID = 2262)得到这样的错误:
ISAPI 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.
Run Code Online (Sandbox Code Playgroud)
我正在尝试弄清楚发生了什么.我已按照此KB中的描述为Orphan Worker Process设置了转储.发生死锁时会创建一个小型转储.
然后我拿这个小型泵试图了解发生了什么.这是我被困住了.
我运行WinDbg x86,打开我的转储然后:
0:037> .loadby sos clr
0:037> .sympath SRV*c:\temp\symbols*http://msdl.microsoft.com/download/symbols
Symbol search path is: SRV*c:\temp\symbols*http://msdl.microsoft.com/download/symbols
Expanded Symbol search path is: srv*c:\temp\symbols*http://msdl.microsoft.com/download/symbols
0:037> !clrstack
The version of SOS does not match the version of CLR you are debugging. Please load the matching version of SOS for the version of CLR you are debugging.
CLR Version: 4.0.30319.1
SOS Version: …Run Code Online (Sandbox Code Playgroud) 我试图找到我的转储文件中的CLR异常的底部,但我在尝试执行时遇到问题:
0:000> .loadby sos clr
The call to LoadLibrary(C:\ProgramData\dbg\sym\clr.dll\5348A1EF9a0000\sos) failed, Win32 error 0n126
"The specified module could not be found."
Run Code Online (Sandbox Code Playgroud)
我试着看看加载了什么,我看到了:
0:000> lm
start end module name
00000000`00190000 00000000`001a4000 MyTest (deferred)
00000000`77a00000 00000000`77afa000 user32 (deferred)
00000000`77b00000 00000000`77c1f000 kernel32 (pdb symbols) C:\ProgramData\dbg\sym\kernel32.pdb\CEE1211DAF10494CAFDDBE2C4232EAE82\kernel32.pdb
00000000`77c20000 00000000`77dca000 ntdll (pdb symbols) C:\ProgramData\dbg\sym\ntdll.pdb\8AAAEEE259C340FCADC53FAF9FEF22E92\ntdll.pdb
000007fe`f8950000 000007fe`f9ef1000 mscorlib_ni (deferred)
000007fe`f9f00000 000007fe`f9fd6000 MSVCR120_CLR0400 (deferred)
000007fe`f9fe0000 000007fe`fa980000 clr (pdb symbols) C:\ProgramData\dbg\sym\clr.pdb\E3E0C76A7909454FB3C56B0C2CE5FFEB2\clr.pdb
000007fe`fa980000 000007fe`faa1d000 mscoreei T (pdb symbols) C:\ProgramData\dbg\sym\mscoreei.pdb\6D65F80ABA3D403D8F6F7214972B9BBF2\mscoreei.pdb
000007fe`faa20000 000007fe`faa8f000 mscoree (deferred)
000007fe`fd800000 000007fe`fd80f000 CRYPTBASE (deferred)
000007fe`fdbb0000 000007fe`fdc1a000 KERNELBASE (pdb …Run Code Online (Sandbox Code Playgroud) 我正在完成一个项目,但似乎有一些东西使用了太多的内存.我认为有些东西没有被处理掉.由于我的程序有很多代码,我不想通过所有内容.必须有一种方法可以看到什么变量在运行时使用了多少内存?
当我在我的解决方案中运行所有测试(大约800个测试)时,一段时间后会显示一个错误的弹出窗口,表明vstest.executionengine.x86.exe已停止工作.
我得到的一些问题细节示例如下:
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: vstest.executionengine.x86.exe
Problem Signature 02: 14.0.23107.0
Problem Signature 03: 559b7b6c
Problem Signature 04: mscorlib
Problem Signature 05: 4.6.1076.0
Problem Signature 06: 56d79fa2
Problem Signature 07: 0
Problem Signature 08: ffffffff
Problem Signature 09: System.StackOverflowException
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1051
Additional Information 1: 5cd2
Additional Information 2: 5cd2742c12da7dd4b1d5bf900186a452
Additional Information 3: 2fe2
Additional Information 4: 2fe276cacf1c00cd7a2aed7b27f5a5f9
Problem signature:
Problem Event Name: APPCRASH
Application Name: vstest.executionengine.x86.exe
Application Version: 14.0.23107.0
Application Timestamp: …Run Code Online (Sandbox Code Playgroud)