在 Windows 10 上的应用程序中的随机位置发生不一致的崩溃



我已经开发了一个应用程序很多年了,它在用Open Watcom编译的Windows 10上运行良好。 它所做的只是读取文本文件并生成许多 html 文件。在过去的几个月里,在相同的输入数据下,它大约 10-20% 的时间随机崩溃。当它在Mac/OS X上由gcc编译时,它可以正常工作并且不会在Mac上崩溃。我对最近对代码所做的更改退缩了,但不希望不必要地撤消我的工作。调试器和dignostic输出似乎没有用,因为崩溃的结果似乎是随机且不一致的。我可以多次运行相同的输入数据,并在不同的地方获得故障,并生成不同的崩溃图,这些崩溃图都开始如下:

The instruction at 0x0042e973 referenced memory at 0x006e8f2d.
The memory could not be read.
Exception fielded by 0x0042dcb0
EAX=0x00000001 EBX=0xffffff43 ECX=0x0042002b EDX=0x00458f2d

任何帮助诊断此问题将不胜感激。

在这种情况下,最有用的是内存转储甚至故障转储,其中包含计算机崩溃时尝试执行的操作的调用堆栈。

为此,有两种方法:

  • 您可以更改应用程序,以便在应用程序崩溃时自动创建崩溃或内存转储。
  • 应用程序的用户以这样的方式配置其系统:崩溃的应用程序会导致创建故障转储或内存转储。

明智地选择:-(

最新更新