我为我的 WP8 应用程序创建了一个错误日志记录,这样每当应用程序崩溃时,就会显示一个 MessageBox 并要求用户通过电子邮件发送日志文件。
这就是我在 App.xaml.cs 中实现它的方式,
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
//File Handler for Log file
Log.write("some string here");
MessageBoxResult result = MessageBox.Show("String", "String", MessageBoxButton.OKCancel);
if (result == MessageBoxResult.OK) // BREAKPOINT here
{
EmailComposeTask emailComposeTask = new EmailComposeTask();
emailComposeTask.Subject = "Unhandled Exception";
emailComposeTask.Body = "Device OS Version: " + Environment.OSVersion.ToString() + "\n\n" + Log.readFile();
emailComposeTask.To = "email@email.com";
emailComposeTask.Show();
}
if (Debugger.IsAttached)
{
// An unhandled exception has occurred; break into the debugger
Debugger.Break();
}
}
在我的设备中进行调试期间,一切正常,并且能够将日志内容发送到我的电子邮件中,如果我在其中if (result == MessageBoxResult.OK)
或之前的任何行中放置了一个断点emailComposeTask.Show();
如果我禁用断点,MessageBox 会显示但emailComposeTask
不会显示。
可能是什么问题呢?只有在调试和断点期间它才有效,而不是在我删除断点时。