如何将调试DLL部署到另一台机器?

时间:2017-04-27 17:04:16

标签: visual-studio visual-studio-2015

我正在尝试远程调试应用程序。该应用程序抱怨调试DLL丢失。

转到MS网站here,它说有3种方法可以做到这一点:

  

有三种方法可以将Visual C ++库DLL的调试版本与应用程序的调试版本一起部署。

     
      
  1. 使用中央部署通过使用包含适用于正确库版本和应用程序体系结构的合并模块的安装项目,将特定Visual C ++ DLL的调试版本安装到%windir%\system32\目录。合并模块位于Program Files中的Program Files (x86)\Common Files\Merge Modules\目录中。合并模块的调试版本在名称中具有Debug,例如Microsoft_VC110_DebugCRT_x86.msm。可以在Walkthrough: Deploying a Visual C++ Application By Using a Setup Project

  2. 中找到此部署的示例   
  3. 使用本地部署通过使用Program Files中的Program Files (x86)\Microsoft Visual Studio <version>\VC\redist\Debug_NonRedist\目录中提供的文件,在应用程序的安装目录中安装特定Visual C ++ DLL的调试版本}。

  4.         

    请注意

         

    对于在另一台计算机上使用Visual C ++ 2005或Visual C ++ 2008构建的应用程序的远程调试,必须将Visual C ++库DLL的调试版本部署为共享的并行程序集。您可以使用安装项目或Windows Installer来安装相应的合并模块。

         
        
    1. 使用Visual Studio中 Configuration Manager 对话框中的 _Deploy 选项将项目输出和其他文件复制到远程计算机。可以在为Visual Studio项目设置远程调试中找到此部署的示例。
    2.   

第1点似乎需要一些我没有的许可证。第2点没有MBCS调试文件。第3点Configuration Manager的Deploy列全部显示为灰色。

这非常令人沮丧。不应该这么困难。 :(任何想法如何拉过所有必需的DLL?我试图一次做一个,应用程序失败,并告诉我哪个DLL丢失,但这没有工作。我现在卡住了在Microsoft Visual C++ Runtime Library错误窗口中,只显示abort() has been called

更新

我遇到的最后一个错误与我们的应用程序有关,需要注册一些COM组件。完成后,它工作正常。

1 个答案:

答案 0 :(得分:0)

所以解决方案就是零碎地做:

  1. 运行应用程序
  2. 如果收到错误消息
    1. 一个。从%windir%\sysWOW64
    2. 查找并复制该文件
    3. 湾关闭错误消息窗口
    4. ℃。转到第1步
  3. 成功!