应用程序在非开发系统上崩溃
Application crashing on non-development system
我在另一个系统上遇到了以下错误:
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-ExeEyeScanner.exe
Faulting module path: C:Windowssystem32MSVCR100.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的更新才修复了它)。
我假设您的开发机器上有.Net 4.5。.Net 4.5中发生了很多变化,尤其是JIT代码以及它们处理p/Invoke的积极性。到目前为止,我已经遇到了不止一个问题。我从来没有听说过有一个应用程序在.Net 4.5中工作,而不是在4.0中工作,但我不会说这是不可能的。
无论如何,我会尝试卸载.Net 4.5,并在机器上使用适用于.Net 4.0的WinDbg版本。这可能有助于诊断问题。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- C++,系统无法执行指定的程序
- 在UNIX系统中使用DIR查找文件的字节大小
- 内联映射初始化的动态atexit析构函数崩溃
- 为什么此C 程序会导致系统崩溃
- 当功能返回时,Linux C 系统()调用崩溃
- OSX-Qt应用程序在接收系统事件QEvent::FileOpen时崩溃
- 应用程序在非开发系统上崩溃
- GNU 4.8.1系统更新后,任何C++编译都会崩溃
- 动态阵列导致系统崩溃
- Qt串行端口程序在另一个系统上运行时崩溃
- 在 Mac 上使用 boost::文件系统连接文件路径时程序崩溃
- QMediaPlayer 和 gstreamer 系统崩溃
- c++全系统崩溃,仅发布模式
- VS2012,使用系统函数调用exe,这会导致崩溃
- Linux:系统保护,防止c++和FORTRAN程序经常崩溃
- 如何使用多线程使系统崩溃
- 64位系统中的程序崩溃
- 访问计算机指针时发生访问冲突(c系统异常代码:c0000005),导致应用程序崩溃
- 如何以编程方式使系统崩溃