【问题标题】:How to run debug file on another computer?如何在另一台计算机上运行调试文件?
【发布时间】:2010-06-09 11:19:50
【问题描述】:

我有一个调试 .exe 文件,我想在其他没有安装 MS Visual Studio 2008 的机器上运行它。如何才能做到这一点?发布选项不起作用,因为应用程序在发布时无法正常运行(不知道为什么)。

目前我收到一条消息“此应用程序无法启动,因为应用程序配置不正确”。

【问题讨论】:

    标签: c++ visual-c++ debugging


    【解决方案1】:

    你有两个选择:

    1. 安装调试版VC redist
    2. 将调试运行时(C 和/或 MFC)复制到您的应用程序目录中。您将在 Visual Studio 目录中找到调试运行时,例如C:\Program Files (x86)\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT。您必须将此目录复制到您的应用程序目录中,并确保应用程序清单引用此版本的运行时。

    【讨论】:

    • 我应该将此目录的内容还是整个文件夹复制到应用程序目录中?这里还有 DebugMFC 和 DebugOpenMP 文件夹……这些也需要复制过来吗?
    • 将整个文件夹复制到您的应用程序目录中。如果您的应用程序使用 MFC,您也只需要复制 DebugMFC。
    【解决方案2】:

    您需要在另一台机器上安装 VC++ 运行时选择以下一项(或两项)(取决于您使用的 Visual Studio 版本)...

    1. VS2008

    2. VS2005

    【讨论】:

    • 我已经安装了 VS2008 分发包,但仍然遇到同样的错误。
    【解决方案3】:

    可以进行远程调试。您可以从开发人员 PC 的 Visual Studio 到运行程序的系统执行此操作。请参考以下链接

    http://msdn.microsoft.com/en-us/library/bt727f1t(VS.71).aspx

    http://msdn.microsoft.com/en-us/library/bt727f1t.aspx

    【讨论】:

      【解决方案4】:

      通常在大多数情况下,它只是 MSVCR90D.DLL 等程序依赖项的问题。问题是调试版本的 C++ Runtime 不是免费再分发的。

      如果您将“代码生成”选项从“多线程调试 DLL (/MDd)”更改为“多线程调试 (/MTd)”。您的程序可能会在此更改后运行。

      您可以使用“Dependency Walker”中的分析(参见 www.dependencywalker.com)来查看应用程序的所有依赖项(包括所有延迟加载 DLL)。

      【讨论】:

      • 好吧,我的发行版可以正常工作,但是当我在目标机器上安装了 redist 包时它仍然无法打开。
      • 对不起,我不明白你的评论。您询问有关在另一台计算机上启动 exe 的调试版本的问题。现在你说 RELEASE 版本。你想做吗?如果您使用“多线程调试 DLL (/MDd)”或“多线程 DLL (/MD)”代码生成设置编译 C/C++ 应用程序,则需要重新分发包。如果您使用“多线程调试 (/MTd)”或“多线程 (/MT)”,您的 EXE 会更大,但所有 C/C++ 运行时函数都将在您的 EXE 内,因此您不需要在大多数情况下为 C/C++ 运行时安装任何 redist 包
      • 对不起,之前没有任何意义,你的权利我问的是调试 exe。没关系,现在都整理好了。再次感谢您的输入。它帮助很大:)
      猜你喜欢
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多