В настоящее время я работаю над приложением WPF, которое обрабатывает данные в базе данных, и оно работало нормально, когда я тестировал его с тестовой базой данных, содержащей около 1000 строк, но теперь я хочу обработать около 50 000 строк, и это просто дает сбой во время обработкиПри выдаче мне «приложения» возникла проблема, и его необходимо закрыть ... Хотите отправить отчет об ошибке в Microsoft ... ".
Теперь это может показаться дубликатом пары других вопросов.но я попробовал AppDomain.CurrentDomain.UnhandledException, AppDomain.CurrentDomain.ProcessExit, Application.DispatcherUnhandledException, и он все равно вылетает без сообщения.
Вот как это выглядит:
private void OnStartup(object sender, StartupEventArgs e)
{
AppDomain.CurrentDomain.UnhandledException += (s, args) =>
{
MessageBox.Show("Message1");
};
AppDomain.CurrentDomain.ProcessExit += (s, args) =>
{
MessageBox.Show("Message2");
};
this.DispatcherUnhandledException += (s, args) =>
{
MessageBox.Show("Message3");
};
try
{
Views.MainView view = new Views.MainView();
view.DataContext = new ViewModels.MainViewModel();
view.ShowDialog();
}
catch (Exception exception)
{
MessageBox.Show(exception.ToString());
}
}
Обработка запускается командой (кнопка GUI с привязкой команды для вызова этого):
public void Process()
{
Thread workerThread = new Thread(new ThreadStart(DoProcess));
workerThread.IsBackground = true;
workerThread.Start();
}
private void DoProcess()
{
try
{
// Most probably crashes during that
DoStuff();
}
catch (Exception e)
{
System.Windows.MessageBox.Show(e.ToString());
}
}
Я проверил использование памяти во время выполнения, и оно никогда не превышает 70 мегабайт, так что это не должно бытьпроблема.Я использую 2 компонента COM, один из которых является .exe, а другой - DLL.Обратите внимание, что иногда эти компоненты выходят из строя, и я получаю полезное сообщение об ошибке, когда это происходит.Я работаю с NHibernate для чтения / записи из базы данных.
На данный момент я абсолютно не знаю, в чем проблема (часть DoStuff () довольно большая), и я не понимаю, как ошибка можетпройдите все эти обработчики исключений и просто завершите работу приложения без информации.Обратите внимание, что я не могу отладить приложение в Visual Studio, потому что я запускаю приложение на виртуальной машине, на которой не установлена Visual Studio (и я ждал 2 месяца, чтобы мой ИТ-отдел установил мне сервер SQL, чтобыЯ могу запустить свое приложение на своем компьютере).
Любая помощь будет признательна!