使用VS2010在Windows Server 2008平台上远程调试C ++; MSVCP100D.dll缺失

时间:2011-02-16 09:33:41

标签: c++ visual-studio-2010 visual-c++ remote-debugging

我使用VS2010编写了一个快速的C ++控制台应用程序。我想通过Windows Server 2008平台上的远程调试器运行它,以确定为什么我无法枚举该操作系统上的CLSID_AudioInputDeviceCategory。

控制台应用程序适用于XP和W7平台。

当我第一次尝试运行控制台应用程序时,远程调试器出现以下错误:

The program can't start because MSVCP100D.dll is missing from your computer.  Try reinstalling the program to fix the problem.

我尝试将此DLL从我的开发机器复制到远程计算机上的目标文件夹,但它返回了一条更加模糊的消息:

The application was unable to start correctly (0xc0000007b).  Click OK to close the application.

我尝试在目标主机上安装VS2010 C ++可重新分发。这没有效果。我没有想法,有没有人有任何建议?

花了一些时间来解决这个问题,我注意到服务器2008上的Windows音频服务已被禁用,但我的查询更多的是在服务器2008平台上进行远程调试而不是解决我的音频硬件枚举问题

2 个答案:

答案 0 :(得分:4)

感谢勘误表,我看了

项目属性 - >配置属性 - > C ++ - >代码生成

我将运行时库从多线程调试DLL更改为多线程调试(/ MTd)。

这允许远程调试,而不必依赖驻留在远程计算机上的正确调试DLL。

我希望这有助于那里的人!

答案 1 :(得分:0)

我有这种确切的情况。我抓住了MSVCP100D.dll和MSVCR100D.dll的副本。但是我从system32(32位版本)中抓取它们,导致0xc0000007b错误。

0xc0000007b显然意味着无效的DLL,通常是程序和DLL(即x86和x64)之间的架构不匹配。在我的情况下,我从我的开发计算机中获取了错误的(32位)DLL版本,导致0xc0000007b。从SysWOW64获取文件后,它工作正常。