破译.NET clr20r3异常参数P1..P10
我试图解释与破译.NET clr20r3异常参数P1..P10,.net,exception,clr,.net,Exception,Clr,我试图解释与clr20r3相关联的P1…P10参数的含义,该参数在我的应用程序遇到异常时写入事件日志 我最好的建议是: P1:托管进程(例如w3wp.exe) P2:托管进程版本(例如6.0.3790.1830) P3:???(例如,42435be1) P4:引发异常的程序集(例如mrtables.webservice) P5:组件版本(例如2.1.2.0) P6:???(例如,4682617f) P7:???(例如129) P8:???(例如50) P9:引发的异常类型(例如,system.
clr20r3
相关联的P1…P10参数的含义,该参数在我的应用程序遇到异常时写入事件日志
我最好的建议是:
- P1:托管进程(例如
)w3wp.exe
- P2:托管进程版本(例如
)6.0.3790.1830
- P3:???(例如,
)42435be1
- P4:引发异常的程序集(例如
)mrtables.webservice
- P5:组件版本(例如
)2.1.2.0
- P6:???(例如,
)4682617f
- P7:???(例如
)129
- P8:???(例如
)50
- P9:引发的异常类型(例如,
)system.argumentexception
- P10:???(例如
)NIL
编辑:虽然我希望有规范化文档,但我真的很高兴看到异常被抛出,在哪一行,并完成堆栈跟踪 额外阅读
- (当我们要求对参数的含义进行规范性解释时,请求帮助解决问题)
Problem Signature 01: devenv.exe
Problem Signature 02: 11.0.50727.1
Problem Signature 03: 5011ecaa
Problem Signature 04: Microsoft.VisualStudio.SharePoint.Project
Problem Signature 05: 11.0.60226.0
Problem Signature 06: 512c2dba
Problem Signature 07: 18a8
Problem Signature 08: 1d
Problem Signature 09: System.NullReferenceException
P7和P8是发现P9异常在何处引发的重要参数。使用P4了解要查找的程序集。运行ildasm.exe并打开该程序集。文件+转储,勾选“令牌值”复选框,确定并将.il文件保存在某处 在文本编辑器中打开该文件。P7为您提供方法令牌,它以0x06开头,生成令牌值“06000129”。搜索:
.method /*06000129*/
它为您提供了方法名,从那里查找.class,它为您提供了类名
P8给出了IL偏移量。在find.method中,查找引发异常的指令的IL_0050。将其映射回源代码有点棘手,但您可能会找到答案。如有必要,使用反射器
通常,为AppDomain.UnhandledException编写一个事件处理程序,以避免对这些缓冲区进行反向工程的痛苦。记录
e.ExceptionObject.ToString()
的值,以获取异常消息和堆栈跟踪。您是否有记录其余watson Bucket的引用链接?链接的文章只提到了其中三个(并且只是顺便提到了它们“例如,bucket P4描述了故障模块,bucket P9显示了未处理的异常类型,bucket P8表示异常最初抛出的IL偏移量。”)我已经添加了一个关于ITI的示例。如果库代码中发生异常,您可能需要堆栈跟踪来确定堆栈中的代码。(如果Microsoft能修改该对话框使其更适合.NET,那就太好了。)除了处理未处理的异常外,在Main内部尝试/捕获也有帮助,因为有时问题发生在未处理的异常处理程序安装之前。我想这会救我的朋友。我有一个ASP.NET应用程序落在了我的膝上,它不断地使应用程序池崩溃,而一个错误列表CLR20R3
和一堆P
值在崩溃时间前后被记录下来。这可能会很混乱,但它可能会引导我找到一个解决方案,但最终我将不得不修改此代码并进行一些真正的日志记录。如果可以,非常有用+10-在我的情况下,这是一个StackOverFlow异常,我的catch blog没有执行。在接下来的过程中,我发现我们的代码所使用的函数是一个抽象的虚拟函数。。method/*06003452*/public hidebysing newslot抽象虚拟实例int32 Read([in][out]uint8[]缓冲区,int32偏移量,int32计数)cil管理的{}//方法流结束::的readmable重复项