-1

用户报告他们退出他们的应用程序没有任何错误,我在事件查看器中有很多这些错误:

EventType clr20r3,P1 main.exe,P2 1.0.0.0,P3 4f6b05ad,P4 system.drawing,P5 2.0.0.0,P6 4333aeaf,P7 17e,P8 20,P9 system.argumentexception,P10 NIL。

事件类型 clr20r3、P1 main.exe、P2 1.0.0.0、P3 4f6b05ad、P4 microsoft.visualbasic、P5 8.0.0.0、P6 4333d6d8、P7 5e、P8 1e1、P9 34ssps20bdj3nj0wmit5kamzhvglfzcc、P10 NIL。

EventType clr20r3、P1 main.exe、P2 1.0.0.0、P3 4f6b05ad、P4 microsoft.visualbasic、P5 8.0.0.0、P6 4333d6d8、P7 85、P8 a2、P9 system.componentmodel.win32、P10 NIL。

我们在 Windows Server 2003 上安装了终端服务器,并且像上面一样,我在一天内有大约 500 个错误。

有什么建议吗?

4

1 回答 1

2

看起来您遇到了一些未处理的异常。如果 .NET 应用程序遇到 Try/Catch 块未捕获的异常并且没有调试器来显示它,则应用程序将终止。

向您的应用程序添加一些异常处理和日志记录,以便您可以查看异常的所有详细信息。我建议ToString在显示或记录异常对象时使用它的方法,因为这将显示异常及其所有内部异常的异常类型、消息和堆栈跟踪。一旦你有了这些信息,就应该更容易确定出了什么问题以及如何解决它。

要添加异常处理,如果您使用的是 VB 的应用程序框架,请转到项目属性页面的“应用程序”选项卡并单击“查看应用程序事件”按钮。在MyApplication类中,为事件添加事件处理程序UnhandledException,例如:

Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs) Handles Me.UnhandledException
    MyLog.WriteEntry(e.Exception.ToString())
End Sub

但是,如果您不使用应用程序框架,请转到应用程序的入口点 metion ( Sub Main) 并在该方法中的所有代码周围放置一个 Try/Catch 块,例如:

Public Sub Main
    Try
        ' ...
    Catch ex As Exception
        MyLog.WriteEntry(ex.ToString())
    End Try
End Sub

这些示例假设您有一个MyLog具有共享WriteEntry方法的类。显然,您需要在此类中实现自己的日志记录。

于 2012-07-31T17:44:01.300 回答