C# 例外:CLR20r3
问题签名:C# 例外:CLR20r3,c#,C#,问题签名: Problem Event Name: CLR20r3 Problem Signature 01: MyApplication.exe Problem Signature 02: 1.2.0.2400 Problem Signature 03: 521f2841 Problem Signa
Problem Event Name: CLR20r3
Problem Signature 01: MyApplication.exe
Problem Signature 02: 1.2.0.2400
Problem Signature 03: 521f2841
Problem Signature 04: MyLibrary
Problem Signature 05: 1.51.1.2406
Problem Signature 06: 521f5508
Problem Signature 07: 26
Problem Signature 08: 0
Problem Signature 09: System.StackOverflowException
OS Version: 6.1.7600.2.0.0.272.7
Locale ID: 1033
Additional Information 1: 199c
Additional Information 2: 199cc907df8a4654c8ebf31545ec3b64
Additional Information 3: ac93
Additional Information 4: ac932fb721b478be6e53cf5b63cba0e7
我知道最有可能的问题是奇数周期。但我想在代码中找到合适的位置,因为找到循环可能更难
P8 (IL offset) is 0.
P7 (Faulting assembly method def) is 26??? What does it mean?
我应该做些什么来找出问题代码?看起来像是堆栈溢出,检查您没有无限循环或无限递归您有一个
堆栈溢出异常
。调试应用程序,在异常发生时中断,并检查调用堆栈。其来源可能是显而易见的
如果您只有来自崩溃报告的内存转储或类似内容,那么最好将其加载到VS或WinDBG中,并使用调试符号来识别问题。无论哪种方式,您都需要比您发布的更多的信息来识别问题代码。您知道如何使用调试器吗?如果您不能以正常方式进行调试,您可以找出导致异常的方法,您可以使用IL Disassembler(它是Visual Studio SDK包的一部分)来完成这项工作。这是一项艰巨的工作,但在生产环境中被证明是有用的。我无法调试它。所以,我想从偏移量和方法def中获取信息。我将尝试获取转储。为什么您不能调试它?如果你想得到一些有用的东西,你至少需要一些符号和一个转储。。。