我目前正在开发一个正在生产中的WPF应用程序,并且有两个用户在应用程序启动时崩溃的情况,我仍然无法解释。
该应用程序显示该应用程序的第一个视图并正确显示(因此翻译服务可以正常工作,这意味着该应用程序似乎已正确初始化,已初始化IoC,等等。)错误同时显示时间,单击“确定”关闭应用程序。
奇怪的是,这是我们第一次崩溃,但没有在日志文件中记录任何内容。
我们在DispatcherUnhandledException
的{{1}}上添加了一个事件,以记录未在视图模型层中管理的异常,并将其记录下来并安全地关闭应用程序。这是活动的详细信息:
App.xaml.cs
请注意,布尔private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
e.Handled = true;
if (!isFatalErrorCatched)
{
isFatalErrorCatched = true;
try
{
var logger = Mvx.Resolve<ILogManager>().GetLogger(this.GetType());
logger.Error(e.Exception);
}
catch
{
// Avoid propagation of exception
}
#if DEBUG
#pragma warning disable S2228
Console.Write(e.Exception.Message);
#pragma warning restore S2228
#endif
MessageBox.Show("Your application encountered a fatal error and cannot continue.", "Application Crash", MessageBoxButton.OK, MessageBoxImage.Error);
this.Shutdown();
}
}
只是为了避免多次管理错误。
我们在isFatalErrorCatched
的{{1}}期间添加了活动
Application_Startup
我们尝试了很多事情,例如:
如果提供了任何其他帮助,以下是一些有关我们在应用程序中使用的信息:
用户在Windows 10上。
我很快将与用户进行远程控制会话,并且我将能够更深入地了解他的机器。我将尝试使用ProcDump查看是否可以获取任何信息。我还将尝试运行另一个.NET 4.5.1应用程序,以查看它是否与他的.NET安装有关,或者它是否是应用程序本身。
还有其他方法可以调查此问题吗?
感谢您的帮助。
最终编辑: -遇到问题的两个用户的计算机均已格式化,此后此问题暂时不再出现。