我有一个相当简单的 C# 程序(没有 UI,只有命令行),它使用 3rd 方库(Abbyy 的 Finereader 8.1)做一些工作然后退出。
很简单,而且效果很好。然而,最近我们开始从程序中收到以下错误:
应用程序错误:“0x2c0de46b”处的指令引用了“0x0732aa84”处的内存。
一点点挖掘表明这发生在 C# 代码的末尾。基本上最后两行是:
Console.WriteLine(message);
return statusCode;
最终的控制台消息已写入,程序的输出也很好。事实上,如果不是因为这个错误使程序无法完全终止,我可以解决它。
我们正在运行两个脚本,分别在两台机器上调用这个程序。这是随机发生的(据我所知),但通常每天至少有一个(4 个脚本)会发生这种情况。我认为并发运行可能会发生某种奇怪的情况,但测试消除了这种情况。
任何关于可能原因的想法都会受到欢迎,因为我已经没有想法了。
此外,如果有人知道在这种情况发生时终止程序的方法,那将很有用。