gpt4 book ai didi

.net - 破译.NET clr20r3异常参数P1..P10

转载 作者:行者123 更新时间:2023-12-03 05:17:58 24 4
gpt4 key购买 nike

我正在尝试解读与 clr20r3 关联的 P1...P10 参数的含义,当我的应用程序遇到异常时,这些参数会写入事件日志。

我所拥有的最好的been able to find是:

  • 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)

Googling for clr20r3提供了数千个示例参数值,人们可以尝试从中导出模式。

但我希望获得有关参数含义的文档,而不是有根据的猜测。

<小时/>

编辑:虽然我希望获得规范文档,但我真的很高兴看到在哪一行抛出异常,并带有堆栈跟踪。

奖励阅读

最佳答案

P7和P8是找出P9异常在哪里引发的重要部分。使用 P4 了解要查找的程序集。运行 ildasm.exe 并打开该程序集。文件 + 转储,勾选“ token 值”复选框,确定并将 .il 文件保存在某处。

在文本编辑器中打开文件。 P7 为您提供方法 token ,它以 0x06 开头,产生 token 值“06000129”。搜索:

.method /*06000129*/

这为您提供了方法名称,从那里查找 .class,它为您提供了类名称。

P8 为您提供 IL 偏移量。从找到的 .method 中,查找 IL_0050 以查找引发异常的指令。将其映射回源代码有点棘手,但您可能会弄清楚。如有必要,请使用 Reflector。

一般来说,为 AppDomain.UnhandledException 编写一个事件处理程序,以避免对这些 Watson 崩溃桶进行逆向工程的痛苦。记录 e.ExceptionObject.ToString() 的值以获取异常消息和堆栈跟踪。

关于.net - 破译.NET clr20r3异常参数P1..P10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4052770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com