My C# WPF-приложение работает на регулярной основе, и время от времени я продолжаю эту попытку попытки читать или писать защищенная память, это часто указывает на повреждение другой памяти. C#как анализировать информацию о стеке вызовов приложения C#, где моя база данных говорит об исключении доступа, попытка чтения или записи памяти повреждена
это мой код. Первоначально я думал, что какое-то внешнее приложение вмешивается в мою базу данных, поэтому я добавил код для проверки того, закрыт или открыт БД. но ошибка, кажется, что-то еще, это сводит меня с ума.
Я отправляю стек вызовов, и я вижу, что в строке 17 есть некоторые факты о том, как возникла проблема. не
Ссылка на мой диск, где я поделился весь DumpFile пожалуйста, проверьте нить нет 17 [https://drive.google.com/open?id=0BzWisplLq-PqMlhzaVdFNTJiZjg]
, пожалуйста, помогите мне найти проблему? Я новичок в этом.
using (var context = Context.Create("C:\\XSR_BIB_V2\\XSR_BIB_V2_DATABASE.sdf", "", 4091))
{
if (DbUpdateLoop.context.Database.Connection.State == System.Data.ConnectionState.Closed)
DbUpdateLoop.context.Database.Connection.Open();
try
{
var data = DbUpdateLoop.context.EnergyPeakInfo_Tbl.Where(x => (my_startTime >= x.StartTime) && (my_stopTime <= x.StopTime)).FirstOrDefault();
}
catch (AccessViolationException aV)
{
//exception is not caught here
}
}
@ChrisO отправил стек. это могло бы помочь мне, если бы вы могли показать мне дорогу. –
Дамп, который вы опубликовали, не выглядит правильным или полезным для меня. Как вы его захватили? Я бы предложил запустить procdump, проверить его процесс на наличие исключений и заставить его написать дамп, когда он встречается. 'procmon -n 1000 -ma -e 1' может заставить вас начать получать полезную дампу. –
Код, который вы отправили, не является кодом на вашем скриншоте. Вы не разделили весь файл дампа, вы только поделились текстовым файлом. Ни одна из команд не подтверждает, что исключение в текстовом файле фактически является нарушением доступа. В целом, запрос не имеет смысла. –