有谁知道如何破译.NET Runtime Event Id 5000错误?我已将其记录为:
P1: <assembly name>,exe
P2: 2.1.4.1 (assembly version)
P3: 48b2b154
P4: System
P5: 2.0.0.0
P6: 471ebf0d
P7: 575
P8: 1d
P9: n3ctrye2kn3c34sgl4zqyrbfte4m13nb
P10: NIL
我认为这些是CLR VM的寄存器值,还是对函数的参数调用?我遇到的Google点击似乎在某处有一个例外类型 - 提供某种线索。从这一个,我可以识别我的一个程序集名称和版本(P1和P2),也许可以识别FX程序集和版本(P4和P5)。其余的,我很难搞清楚。
奇怪的是,看似随机的“n3ctry ......”字符串实际上确实提出了hits on Google,但还不足以让我对它的含义有所了解。一个临时文件可能吗? ClickOnce隔离存储路径?这些算法是否足够可预测会产生大量冲突?
欢迎提出意见 - 因为这个特定的应用程序处于一个使生产调试非常困难的环境中。
答案 0 :(得分:4)
这只是应用程序内部发生的未处理异常。检测应用程序以记录比.NET更多的信息 - 即使您可以获得有关所有Px行的信息,也可能不足以进行调试。
此wandering through the wilderness博客条目对如何解决此问题提出了很好的建议。简而言之,您需要挂钩appdomain's unhandled exception event。
AppDomain.CurrentDomain.UnhandledException += new UnhandledException...
然后在某些地方记录更多信息,例如事件日志。有关ASP.NET事件的KB article 911816包含用于将异常信息转储到可能有用的事件日志的示例代码。