У меня есть довольно простая программа на C # (без пользовательского интерфейса, только командная строка), которая использует стороннюю библиотеку (Abbyy Finereader 8.1) для выполнения некоторой работы и затем завершает работу.
Достаточно прост и работает довольно хорошо. Однако недавно мы начали получать следующую ошибку из программы:
Ошибка приложения: инструкция на
«0x2c0de46b» ссылается на память в
"0x0732aa84".
Небольшое копание показывает, что это происходит в конце кода C #. В основном две последние строки:
Console.WriteLine(message);
return statusCode;
Заключительное консольное сообщение написано, и вывод из программы в порядке. В самом деле, если бы не тот факт, что эта ошибка не позволяет программе полностью завершиться, я мог бы обойти ее.
Мы запускаем два скрипта, которые запускают эту программу каждый на двух машинах. Это происходит случайным образом (насколько я могу судить), но обычно по крайней мере один из (4 сценария) срабатывает каждый день. Я думал, что, возможно, какая-то странность происходила для параллельных прогонов, но тестирование устранило это.
Любые мысли о возможных причинах будут приветствоваться, так как у меня закончились идеи.
Также, если кто-нибудь знает, как прекратить выполнение программы, когда это происходит, это было бы полезно.