MSVC ++异常0x80000003使用不同的语言

时间:2018-02-22 15:06:52

标签: c++ mfc runtime-error

我有一些我帮助修改过的软件。我们将应用程序从32转到MFC到64位MFC。这是一个非常大的项目,但我们有一个非常奇怪的问题。我的安装程序在这里的所有计算机上运行,​​应用程序正常运行并且没有问题;但是,当我们的客户尝试安装程序时,程序会立即崩溃。我们认为这是一个侥幸的问题,我们要求他们将它安装在他们的几台PC上,并且他们都遇到了这个问题。我们还尝试使用给定的语言运行我们的PC,并以给定的语言安装操作系统来测试问题无济于事。

我们已经尝试了很多不同的东西,但我认为真正的关键在于事件查看器的信息。我们得到路径为C:\ Windows \ System32 \ Kernelbase.dll和C:\ Windows \ System32 \ ntdll.dll的模块的异常代码0x80000003。我无法在我们的系统或开发环境中重复这些错误。任何人都有任何想法,甚至可以在我们的电脑上发生错误,以便我们可以推进一些事情吗?

如果您需要更多信息,请告诉我们!

编辑注释1

我还应该提一下,我们把AfxMessageBox放在程序中,如果(!ProcessShellCommand(cmdInfo))它会崩溃。我们创建了一个基本的MFC项目,其中包含相同的命令,并且该程序在目标机器上运行良好。

编辑注2

我们的客户端使用的系统是Windows 10 64位操作系统和Windows 7 64位操作系统。

1 个答案:

答案 0 :(得分:0)

因此,这是我们解决此问题的最终结果。由于我们有32位版本的代码,因此将宏升级到64位是为了在Excel中运行。我们通过使用32位应用程序代码以及应用程序的32位dll和64位dll解决了这些问题。 dll协同工作并在它们之间共享适当的信息。这样就可以使我们的客户可以在较新版本的Excel中使用此程序。