如何在另一台计算机上运行调试文件?

问题描述:

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

此刻,我收到一条消息,指出“此应用程序未能启动,因为应用程序配置不正确”。

您需要在另一台机器上安装VC++运行时选择以下(取决于视觉工作室您正在使用的版本)...

  1. VS2008

  2. 一个(或两个)
  3. VS2005

+0

我已经安装了VS2008 distribuation包,但仍然收到相同的错误。 – Pazzy 2010-06-09 11:50:35

远程调试可用。您可以通过Visual Studio从开发人员PC到运行程序的系统执行此操作。请参阅下面

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

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

的链接你有两个选择:

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

我应该复制这个目录或整个文件夹的内容到应用程序目录吗?在这里还有DebugMFC和DebugOpenMP文件夹...这些还需要复制到哪里? – Pazzy 2010-06-09 11:53:36

+0

将整个文件夹复制到您的应用程序目录中。如果应用程序使用MFC,则只需要复制DebugMFC。 – humbagumba 2010-06-09 11:56:31

通常在大多数情况下,它只是像MSVCR90D.DLL这样的程序依赖关系的问题。问题在于C++ Runtime的调试版本不是免费的重新分配。

如果将“多线程调试DLL(/ MDd)”中的“代码生成”选项指定为“多线程调试(/ MTd)”。这可能是因为你的程序会在这个改变之后运行。

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

+0

嗯,我的发布版本能够正常工作,但是当我在目标机器上安装了redist软件包时它仍然无法打开。 – Pazzy 2010-06-09 11:49:24

+0

对不起,我不明白你的评论。你问过关于在另一台电脑上启动exe的DEBUG版本。现在你说关于RELEASE版本。想要做什么?如果您使用“多线程调试DLL(/ MDd)”或“多线程DLL(/ MD)”代码生成设置编译您的C/C++应用程序,则需要重新分发包。如果您使用“多线程调试(/ MTd)”或“多线程(/ MT)”,您的EXE将更大,但所有C/C++运行时函数都将放在您的EXE内部,因此您不需要大多数情况下,为C/C++运行时间inslall任何redist包 – Oleg 2010-06-09 12:23:49

+0

对不起,以前没有任何意义,您的权利,我问的调试exe。没关系,现在全部排序。再次感谢您的输入。它帮助了很多:) – Pazzy 2010-06-09 13:16:34