C#无法找到在客户站点上运行的System.Exception错误

时间:2009-04-10 16:56:03

标签: c# exception

我有一个客户无法运行我们的程序而不会崩溃,并在事件日志中创建下面的错误。一如既往,它在我们的计算机上工作得很好(试过6+),但客户说,只要点击程序中的任何内容,他们就会得到以下错误。

  

EventType clr20r3,P1 datamonitor.exe,P2 1.0.0.3,P3 49dbd380,P4 datamonitor,P5 1.0.0.3,P6 49dbd380,P7 e9,P8 e5,P9 system.exception,P10 NIL

关于如何找到这样的问题的任何建议?

由于

5 个答案:

答案 0 :(得分:1)

我怀疑客户端计算机上缺少一些必需的dll。要么他们使用的是不同的.Net版本,要么在构建项目的同时引用他们已安装但未安装的项目。我会仔细检查你是否已经包含了所有的依赖项,并尝试设置一台机器来复制客户端的配置,即相同的操作系统,相同的.Net版本等。这应该可以帮助您诊断问题。

答案 1 :(得分:1)

如果您无法隔离您抛出的异常,请查看客户是否允许您复制Runtime Debugger。它体积小,重量轻,可以捕获异常并找出它的来源。

答案 2 :(得分:0)

您可以通过向AppDomain.UnhandledExceptionEventHandler添加方法来添加代码以捕获代码中未处理的异常。

见这个例子:

http://shiman.wordpress.com/2008/11/18/c-net-exception-appdomainunhandledexception/

通过这种方式,您可以捕获此异常,并注销更多详细信息,以便继续操作。

答案 3 :(得分:0)

您是否有任何类型的登录应用程序?那将是我开始的地方,捕获异常并记录它。

另外,在任何地方抛出System.Exception似乎都不寻常,也许会搜索你的代码库(因为我记得,因为框架中的任何内容都应该抛出更具体的异常)。

答案 4 :(得分:0)

我只是在这种场景中挣扎,写了一篇博客文章谈论它。但基本上在你的情况下datamonitor.exe由于system.exception而崩溃。如果您使用IL Dissassembler,您可以查看它失败的类和方法。上述错误(e9)中的p7是您需要查找的功能。这可以通过使用IL Dissassembler在dll中搜索06000e9来找到。

http://corymathews.com/eventtype-clr20r3-p1-w3wp-exe-system-nullreferenceexception/