我在Windows Mobile 6.5的C#中有一个应用程序。问题是经过大量的使用时间(2-3小时)后,有时应用程序崩溃了" NullReferenceException"在Main()中。
我拥有try catch的所有程序,在main中测试以捕获不同的异常(ObjectDisposed,NullException和Exception),并且我也尝试过该事件:
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(OnUnhandledException);
应用程序在使用一段时间后仍然悬挂。有没有人知道任何应用程序来监视像Windows中的DebugDiag这样的崩溃,或者在日志中捕获这个异常的一些代码?
主要功能中的代码如下:
static void Main()
{
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(OnUnhandledException);
try
{
CLog.EscribirEnLog("Main");
using (AppExecutionManager execMgr = new AppExecutionManager(appName))
{
if (execMgr.IsFirstInstance)
{
Application.Run(new FormInicioSesion());
CUtiles.MatarProceso("FoxitReader.exe");
CUtiles.MatarProceso("pimg.exe");
}
}
}
catch (NullReferenceException ex)
{
CLog.EscribirEnLog("ERROR Null " + ex.StackTrace);
Application.Exit();
}
catch (ObjectDisposedException e)
{
CLog.EscribirEnLog("ERROR : Excepcion en main : " + e.StackTrace.ToString() + "; " + e.InnerException.ToString() + "; " + e.Message.ToString());
Application.Exit();
}
catch (Exception e)
{
CLog.EscribirEnLog("ERROR : Excepcion : " + e.StackTrace.ToString() + "; " + e.InnerException.ToString() + "; " + e.Message.ToString());
Application.Exit();
}
finally
{
CLog.EscribirEnLog("Main-Finally");
}
}
答案 0 :(得分:0)
获取异常来源的唯一方法是: