应用程序崩溃在非开发系统上

时间:2012-09-12 11:49:31

标签: c# c++ exception

我在另一个系统上遇到以下错误:

Faulting application name: EyeScanner.exe, version: 1.0.0.0, time stamp: 0x5049fcd9
Faulting module name: MSVCR100.dll, version: 10.0.30319.1, time stamp: 0x4ba220dc
Exception code: 0xc0000417
Fault offset: 0x000000000007038c
Faulting process id: 0x928
Faulting application start time: 0x01cd8d2ac9ca4d5e
Faulting application path: C:\EyeScanner-Exe\EyeScanner.exe
Faulting module path: C:\Windows\system32\MSVCR100.dll
Report Id: 0fbfc252-f91e-11e1-85b1-5442495a44cf

相同的代码在我的开发系统和另一个与故障系统版本相同的系统上运行得非常好。

当我想调试它时,我尝试使用Windows SDK安装WinDbg,这需要我安装.NET 4.5 Framework。安装完成后,即使在发生故障的系统上,一切都运行良好。

现在我想知道如何从上面的消息中发现这与.NET Framework有关,特别是因为错误代码0xC0000417表明C-Runtime(我有一个DLL来完成图像分析的所有工作)用错误的参数调用。

为什么会出错? (.NET 4.0已预先安装,因此只有4.5的更新修复了它。)

1 个答案:

答案 0 :(得分:3)

我假设您的开发机器上有.Net 4.5。 .Net 4.5中有很多变化,特别是它们的JIT代码以及它们处理P / Invokes的积极程度。到目前为止,我遇到了一个以上的问题。我从来没有听说过.Net 4.5中有一个应用程序,而不是4.0,但我不会说这是不可能的。

无论如何,我会尝试卸载.Net 4.5并在机器上使用.Net 4.0的WinDbg版本。这可以帮助您诊断问题。