代码之家  ›  专栏  ›  技术社区  ›  Mark Brackett Achilles Ram Nakirekanti

.NET运行时事件ID 5000

  •  1
  • Mark Brackett Achilles Ram Nakirekanti  · 技术社区  · 16 年前

    有人知道如何破译.NET运行时吗 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的寄存器值,要么是对函数的参数调用?我遇到的谷歌点击似乎有一个例外类型在那里某处-提供某种线索。从这个例子中,我可以识别我的一个程序集名称和版本(p1和p2),也许还有一个fx程序集和版本(p4和p5)。剩下的,我想不通。

    奇怪的是,看似随机的“n3ctry…”字符串实际上 hits on Google ,但还不足以让我理解它可能是什么。也许是临时文件?clickonce隔离存储路径?这些算法是否可以预测到足够多的冲突?

    想法是受欢迎的-因为这个特殊的应用程序是在一个环境,使生产调试相当困难。

    1 回复  |  直到 15 年前
        1
  •  4
  •   Tony Lee    15 年前

    这只是应用程序内部发生的未处理异常。测试应用程序以记录比.NET更多的信息—即使您可以获得所有PX行的信息,也可能不足以调试它。

    这个 wandering through the wilderness 博客文章对如何解决这个问题有很好的建议。简而言之,你需要 appdomain's unhandled exception event .

       AppDomain.CurrentDomain.UnhandledException += new UnhandledException...
    

    然后在事件日志之类的地方记录更多信息。这个 KB article 911816 关于ASP.NET的此事件,有用于将异常信息转储到事件日志的示例代码,这可能会有所帮助。