如何解决“错误模块msvcr100.dll”
我得到一个客户端系统上这个奇怪的崩溃为我的C++可执行文件:如何解决“错误模块msvcr100.dll”
Faulting application Client.exe, version 0.0.0.0, faulting module msvcr100.dll, version 10.0.30319.1, fault address 0x0008d635.
它工作正常,Windows 7的客户端上,它具有上述崩溃在Windows Server 2003 R2上,即使在安装Visual C++运行时环境之后。 Client.exe的第一行是std::cout
命令,所以我非常确信这个错误不在执行中,而是在动态加载dll。不幸的是,我链接的库中有一个是第三方库,并且没有与运行时环境的静态链接,所以我不能静态链接可执行文件。
有关如何在这样一个问题(而这其中尤其是)继续有何建议?
WinDbg实际上指出了这个问题。简单来说就是一些全局变量,由于客户端文件丢失而无法初始化,这只是异常报告。
这个链接看看:
http://forums.adobe.com/thread/851511
并考虑32位和64位。
最后,运行 “depends”(应该是适用于所有MSVisual工作室版本)对所有三个:
您的.exe
你的第三方.dll文件
您的msvc运行时.dll
不确定链接如何帮助。我正在为64位构建32位,但构建过程本身似乎正在为其他可执行文件工作...依赖显示一些随机丢失的东西(在客户端上的一些MSJava文件,在开发机器上的一些IE文件,没有一个后果)。但是,msvcr100.dll在开发计算机上的版本是10.00.40219.325,在客户端上是10.0.30319.1,如果这是个问题? – Cookie 2012-02-04 14:50:51
什么是异常代码?我没有看到第三方DLL是唯一的原因,否则操作系统会显示特定DLL丢失的错误。
或者是第三方DLL被动态加载(不知使用LoadLibrary
),或者是一个托管DLL?
使用Dependency Walker,看看是否有一些DLL丢失。尝试使用自定义跟踪(F7),并在Depends的下窗格中查看调试输出。
内存转储+符号插入的WinDbg,'!分析-v' – 2012-02-03 23:41:22
我很难得到一个内存转储这一点。 DrWatson似乎没有产生一个。 – Cookie 2012-02-04 15:08:53