如何修复“faulting module msvcr100.dll”

时间:2012-02-03 23:40:21

标签: c++ visual-c++ dll

我在我的C ++可执行文件的客户端系统上遇到了这个非常奇怪的崩溃:

Faulting application Client.exe, version 0.0.0.0, faulting module msvcr100.dll, version 10.0.30319.1, fault address 0x0008d635.

它在Windows 7客户端上运行良好,即使在安装visual C ++运行时环境之后,它在Windows Server 2003 R2上也崩溃了。 Client.exe的第一行是std::cout命令,因此我非常确信故障不在执行中,而是动态加载dll。不幸的是,我链接的一个库是第三方,并且没有到运行时环境的静态链接,因此我无法静态链接可执行文件。

关于如何处理这样一个问题的建议(尤其是这个问题)?

3 个答案:

答案 0 :(得分:0)

看一下这个链接:

http://forums.adobe.com/thread/851511

并考虑32-与64位。

最后,对所有这三个版本运行“depends”(它应该适用于所有MSVisual Studio版本):

  • 您的.exe

  • 您的第三方.dll

  • 您的msvc运行时.dll

答案 1 :(得分:0)

什么是例外代码?我没有看到第三方DLL是唯一原因,否则操作系统会显示特定DLL丢失的错误。

或是第三方DLL是动态加载的(以某种方式使用LoadLibrary),还是托管DLL?

使用Dependency Walker,查看是否缺少某些DLL。尝试使用depends本身跟踪(F7),并在Deplands的下方窗格中查看调试输出。

答案 2 :(得分:0)

WinDbg实际上指出了这个问题。简单来说,由于客户端上缺少文件而导致无法初始化的全局变量,这只是异常报告。